1
2002年全国青少年信息学(计算机)奥林匹克分区联赛复赛试题
(提高组 竞赛用时: 3 小时)
题一 均分纸牌(存盘名 NOIPG1)
[问题描述 ]
有 N 堆纸牌,编号分别为 1,2,…, N。每堆上有若干张,但纸牌总数必为 N 的倍数。可以在任一堆上取若
于张纸牌,然后移动。
移牌规则为:在编号为 1 堆上取的纸牌,只能移到编号为 2 的堆上;在编号为 N 的堆上取的纸牌,只能移
到编号为 N-1 的堆上;其他堆上取的纸牌,可以移到相邻左边或右边的堆上。
现在要求找出一种移动方法,用最少的移动次 数使每堆上纸牌数都一样多。
例如 N=4,4 堆纸牌数分别为:
① 9 ② 8 ③ 17 ④ 6
移动3次可达到目的:
从 ③ 取 4 张牌放到 ④ (9 8 13 10) -> 从 ③ 取 3 张牌放到 ②(9 11 10 10)-> 从 ② 取 1 张牌放
到①(10 10 10 10)。
[输 入]:
键盘输入文件名。文件格式:
N(N 堆纸牌,1 <= N <= 100)
A1 A2 … An (N 堆纸牌,每堆纸牌初始数, l<= Ai <=10000)
[输 出]:
输出至屏幕。格式为:
所有堆均达到相等时的最少移动次数。 ‘
[输入输出样例 ]
a.in:
4
9 8 17 6
屏慕显示:
3
题二 字串变换 (存盘名: NOIPG2)
[问题描述 ]:
已知有两个字串 A$, B$ 及一组字串变换的规则(至多 6个规则):
A1$ -> B1$
A2$ -> B2$
规则的含义为:在 A$中的子串 A1$ 可以变换为 B1$、A2$ 可以变换为 B2$ …。
例如:A$='abcd' B$='xyz'
变换规则为:
‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’
则此时,A$ 可以经过一系列的变换变为 B$,其变换的过程为:
‘abcd’->‘xud’->‘xy’->‘xyz’
2
共进行了三次变换,使得 A$ 变换为B$。
[输入]:
键盘输人文件名。文件格式如下:
A$ B$
A1$ B1$ \
A2$ B2$ |-> 变换规则
... ... /
所有字符串长度的上限为 20。
[输出]:
输出至屏幕。格式如下:
若在 10 步(包含 10步)以内能将 A$ 变换为 B$ ,则输出最少的变换步数;否则输出 "NO ANSWER!"
[输入输出样例 ]
b.in:
abcd wyz
abc xu
ud y
y yz
屏幕显示:
3
题三 自由落体(存盘名:NOIPG3)
[问题描述 ]:
在高为 H 的天花板上有 n 个小球,体积不计,位置分别为 0,1,2,….n-1。在地面上有一个小车(长为 L,
高为 K,距原点距离为 S1)。已知小球下落距离计算公式为 d=1/2*g*(t^2),其中 g=10,t 为下落时间。地面
上的小车以速度 V 前进。
NOIP2002提高组复赛试题,2002年NOIP信息学奥赛提高组复赛C++真题