切换到宽版
  • 8005阅读
  • 7回复

我要普及组的,麻烦再发一遍普及组的复赛题, [复制链接]

上一主题 下一主题
离线wbkr
 
只看楼主 倒序阅读 0 发表于: 2005-11-15
不好意思,我要普及组的,我水平不够,麻烦再发一遍普及组的复赛题,谢啦
离线gelanjie
只看该作者 1 发表于: 2005-11-15
NOI2001第七届全国青少年信息学(计算机)奥林匹克分区联赛
              复赛试题
              普 及 组
普及组           题一 数的计数           (20分)
[问题描述]
我们要求找出具有下列性质数的个数(包含输入的自然数n):
先输入一个自然数n(n≤1000), 然后对此自然数按照如下方法进行处理:
1.不作任何处理;
2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。

[样例]: 输入: 6
    满足条件的数为 6   (此部分不必输出)              
              16
              26
                126
                36
                136
    输出: 6


普及组       题二   最大公约数与最小公倍数问题     (20分)
[问题描述]
输入二个正整数x0,y0(2≤x0<100000, 2≤y0≤1000000),求出满足下列条件的P,Q的个数:
条件:1. P,Q是正整数
    2. 要求P,Q以x0为最大公约数,以y0为最小公倍数。
试求:满足条件的所有可能的两个正整数的个数。

[样例]
输入:x0=3   y0=60
输出:4

说明:(不用输出)此时的 P   Q 分别为:
                3 60
                  15 12
                  12 15
                  60   3
  所以:满足条件的所有可能的两个正整数的个数共4种。
NOI2001第七届全国青少年信息学(计算机)奥林匹克分区联赛
                复赛试题
              普 及 组

普及组             题三 求先序排列         (30分)
[问题描述]
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。

[样例]
输入:BADC   BDCA

输出:ABCD



普及组             题四 装箱问题           (30分)
[问题描述]
有一个箱子容量为V(正整数,0≤V≤20000),同时有n个物品(0<n≤30),每个物品有一个体积(正整数)。

要求从n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。

[样例]

输入:            24   一个整数,表示箱子容量
          6   一个整数,表示有n个物品
          8   接下来n行,分别表示这n个物品的各自体积。
          3
          12
          7
          9
          7

输出:     0   一个整数,表示箱子剩余空间。
离线gelanjie
只看该作者 2 发表于: 2005-11-15
第五届全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(普及组 竞赛用时:3小时)

第一题 Cantor表(30分)
现代数学的著名证明之一是Georg Cantor证明了有理数是可枚举的。他是用下面这一张表来证明这一命题的:
1/1 1/2 1/3 1/4 1/5 …
2/1 2/2 2/3 2/4 …
3/1 3/2 3/3 …
4/1 4/2 …
5/1 …









  我们以Z字形给上表的每一项编号。第一项是1/1,然后是1/2,2/1,3/1,2/2,…
  输入:整数N(1≤N≤10000000)   输出:表中的第N项
      样例:       INPUT                 OUTPUT
             N=7                 1/4

第二题 回文数(30分)
若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。
例如:给定一个10进制数56,将56加56(即把56从右向左读),得到121是一个回文数。
  又如:对于10进制数87:
  STEP1:87+78 = 165             STEP2:165+561 = 726
  STEP3:726+627 = 1353           STEP4:1353+3531 = 4884
  在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。
  写一个程序,给定一个N(2<=N<=10,N=16)进制数M,求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!”
  样例:   INPUT                       OUTPUT
       N = 9 M= 87                   STEP=6

第三题 旅行家的预算(40分)
  一个旅行家想驾驶汽车以最少的费用从一个城市到另一个城市(假设出发时油箱是空的)。给定两个城市之间的距离D1、汽车油箱的容量C(以升为单位)、每升汽油能行驶的距离D2、出发点每升汽油价格P和沿途油站数N(N可以为零),油站i离出发点的距离Di、每升汽油价格Pi(i=1,2,…,N)。计算结果四舍五入至小数点后两位。如果无法到达目的地,则输出“No Solution”。
  样例: INPUT
      D1=275.6 C=11.9 D2=27.4   P=2.8   N=2

油站号I      离出发点的距离Di      每升汽油价格Pi        
1      102.0      2.9        
2      220.0      2.2      
  OUTPUT  26.95(该数据表示最小费用)
离线gelanjie
只看该作者 3 发表于: 2005-11-15
第三届全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(初中组 竞赛用时:3小时)

设有一个n*m方格的棋盘(1≤m,n≤100)。(30%)
  求出该棋盘中包含多少个正方形、多少个长方形(不包括正方形)。
 
  例如:当n=2,m=3时

                   
                 

正方形的个数有8个;即边长为1的正方形有6个;
              边长为2的正方形有2个。

长方形的个数有10个;
  即2*1的长方形有4个;

      1*2的长方形有3个;
     
      3*1的长方形有2个;
     
      3*2的长方形有1个。


程序要求:输入:n和m       输出:正方形的个数与长方形的个数

如上例:输入:2 3         输出:8,10

2.将1,2,······,9共9个数排成下列形态的三角形。(30%)
                a
              b     c
            d         e
          f   g   h   i
 
  其中:a~i分别表示1,2,······,9中的一个数字,并要求同时满足下列条件:
  (1)a<f<i;
  (2)b<d, g<h, c<e
  (3)a+b+d+f=f+g+h+i=i+e+c+a=P
 
  程序要求:
    根据输入的边长之和P
    输出所有满足上述条件的三角形的个数以及其中的一种方案。


3.设有一个N*M(l≤ N≤50, l≤ M≤ 50)的街道(如下图):(40%)






 
  规定行人从A(1,1)出发,在街道上只能向东或北方向行走。
如下为N=3,M=3的街道图,从A出发到达B共有6条可供行走的路径:

    A6     A7     B(N,M)

    A3     A4     A5

    A     A1     A2
 

若在N*M的街道中,设置一个矩形障碍区域(包括围住该区域的街道)不让行人通行,如图中用“*”表示的部分。

此矩形障碍区域用2对顶点坐标给出,前图中的2对顶点坐标为:(2,2),(8,4),此时从 A出发到达B的路径仅有两条。

  程序要求:
   
  任务一:给出N,M后,求出所有从A出发到达B的路径的条数。
 
  任务二:给出N,M,同时再给出此街道中的矩形障碍区域的2对顶点坐标(X1,y1), (X2,Y2),然后求出此种情况下所有从A出发到达B的路径的条数。
离线gelanjie
只看该作者 4 发表于: 2005-11-15
第四届全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(初中组上机编程 竞赛用时:3小时)

1.将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成
  1:2:3的比例,试求出所有满足条件的三个三位数。
  例如:三个三位数192,384,576满足以上条件。               {30%}

2.用高精度计算出S=1!+2!+3!+…+n!(n≤50)
  其中“!”表示阶乘,例如:5!=5*4*3*2*1。
  输入正整数N,输出计算结果S。                         {30%}

3.任何一个正整数都可以用2的幂次方表示。例如:               {40%}
    137=27+23+20      
  同时约定方次用括号来表示,即ab 可表示为a(b)。
    由此可知,137可表示为:
      2(7)+2(3)+2(0)
  进一步:7= 22+2+20   (21用2表示)
      3=2+20  
  所以最后137可表示为:
      2(2(2)+2+2(0))+2(2+2(0))+2(0)
    又如:
      1315=210 +28 +25 +2+1
  所以1315最后可表示为:
    2(2(2+2(0))+2)+2(2(2+2(0)))+2(2(2)+2(0))+2+2(0)
  输入:正整数(n≤20000)
  输出:符合约定的n的0,2表示(在表示中不能有空格)
离线gelanjie
只看该作者 5 发表于: 2005-11-15
楼主,我给你发了四套题
我也是普及组的选手
离线wbkr
只看该作者 6 发表于: 2005-11-16
thanks
离线gelanjie
只看该作者 7 发表于: 2005-11-16
you are welcome!共同加油
快速回复
限100 字节
 
上一个 下一个