大榕树 \ 信息学奥赛 \ 竞赛题库

分区联赛模拟试题4

原文链接:http://www.mydrs.org/program/list.asp?id=282

共三大题,两个小时完成。

一、螺旋方阵

问题描述:
任给正整数 n(n<=19) ,试按如下方式输出螺旋方阵
输入样例:

3

输出样例:

7 8 1
6 9 2
5 4 3

输入样例:

4

输出样例:

10 11 12 1
9 16 13 2
8 15 14 3
7 6 5 4

二、砝码称重

问题描述:
设有 1 克、2 克、5 克、10克、20克、50克的砝码若干枚,问这些砝码可称出多少种不同的重量。设砝码的总重不超过1000克。

输入样例:

3 4 5 0 2 7

输出样例:

total=426

三、数塔问题

问题描述:

设有下列形状的数塔,共有 K 层,最底层有 N 个数(如下图):

         

           

11 19 13 28 14 39 22

2 3 4 3 5 3 6 4

图中:K=4,N=8。

现给出最下面 2 层数塔中的数,同时知道,倒数第二层中的数是由倒数第一层中的数经过运算产生的,其运算规则如下:(即由 x,y 通过运算产生 z)

1、最多只能有 2 个运算符,也可以是 0 个运算,运算符有+、-、*、/,且无优先级之分,如3+2*4=20,4*4-2=14

2、运算的结果,最下面的 2 层是整数,但后面的数可能是多字节,但最多为20位数字。

3、程序要求:

①、首先找出由最后一层数产生倒数第二层数的运算公式。

②、然后利用此公式依次计算出上面层次的数。

③、最后输出顶层中的数。

如上例中,可推导出产生公式为z=y*y+x。此时第三层的各个数为:

11+19*19,19+13*13,13+28*28,28+14*14,14+39*39,39+22*22

可继续往下算出上一层的数,最后计出最顶层的数后输出。

输入样例:

5 5

4 18 48 100

1 2 3 4 5

注:第一行中第一个数为 K 层,第二个数为最底层有 N 个数

第二行为倒数第二层的数,

第三行为倒数第一层(最底层的数)

输出样例:

Found!:x*y*y

33160000000000000000(注:16个0)

2229025112064 9555148800000000

1296 41472 480000

4 18 48 100

1 2 3 4 5

注:本页已做过修改
第三题的问题描述中的图,其中的第二行倒数第二个由36改为39。
第三题的输出样例中最上面的一个数33160000000000000000,3316后面应该有16个零。

作者:
来源:gdoi.net
时间:2001-11-19

上一篇:SGOI6竞赛规则
下一篇:SGOI第六次竞赛试题

大榕树 版权所有 ©1999-2006