foodszhu
2013编程之美全国挑战赛 ----- 测试赛

本帖最后由 foodszhu 于 2013-4-4 18:43 编辑

来自http://programming2013.cstnet.cn/warmup

测试赛。。。菜鸟级。。。。各位初学者可以尝试。。。大家也可以讨论一下不同的方法和各种各样的思路。。。如果有问题。。这种题感觉吾辈还是可以100%解答的。。。实在解答不了的就@Mr_Alex @Whisper1166

题目分为小数据和大数据,但是测评时只考虑小数据。。。(亏我A+B还写了个高精度出来)

第一题 A+B

时间限制: 1000ms 内存限制: 1024MB

描述输入两个正整数A和B, 求A+B的值

输入两个正整数A, B

输出A+B的和

对于小数据, 0 < A, B <= 10; 对于大数据, 0 < A, B <= 10^100

不想说了。。。万年第一题。。。有兴趣的同学请写高精度

第二题 石头剪刀布

时间限制: 1000ms 内存限制: 1024MB

描述石头剪刀布是常见的猜拳游戏。石头胜剪刀,剪刀胜布,布胜石头。如果两个人出拳一样,则不分胜负。

一天,小A和小B正好在玩石头剪刀布。已知他们的出拳都是有规律的,比如:“石头-布-石头-剪刀-石头-布-石头-剪刀……”,就是以“石头-布-石头-剪刀”为周期的。请问,小A和小B比了N轮之后,谁赢了?

输入输入的第一行包含一个整数K,表示K组测试数据。

之后的每组测试数据包含三行。第一行包含三个整数:N,NA,NB,分别表示比了N轮,小A出拳的周期长度,小B出拳的周期长度。第二行包含NA个整数,表示小A出拳的规律,第三行包含NB个整数,表示小B出拳的规律。其中,0表示“石头”,2表示“剪刀”,5表示“布”。

对于小数据,0 < K,N,NA,NB <= 10;对于大数据,0 < K,N,NA,NB <= 100;

输出对于每组测试数据,输出一行。如果小A赢了,输出A;如果小B赢了,输出B;如果两人打平,输出draw。

提示对于第一组测试数据,猜拳过程为:

A:0 2 5 0 2 5 0 2 5 0

B:0 5 0 2 0 5 0 2 0 5

所以A赢了4轮,B赢了2轮,双方打平4轮,所以A赢了。

对于第二组测试数据,猜拳过程为:

A:2 0 5 2 0

B:0 2 5 0 2

所以A赢了2轮,B赢了2轮,双方打平1轮,所以最终打平了。

样例输入

2

10 3 4

0 2 5

0 5 0 2

5 3 3

2 0 5

0 2 5

样例输出

Ad

raw

模拟题。。。很基础。。。至于给的大数据也没觉得大到哪里去。。。。

不过应该也是有其他做法的希望能多多讨论!

踩方格

时间限制: 1000ms 内存限制: 1024MB

描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:

a. 每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;

b. 走过的格子立即塌陷无法再走第二次;

c. 只能向北、东、西三个方向走;

请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。

输入允许在方格上行走的步数n

输出计算出的方案数量

对于小数据1 <= n <= 20; 对于大数据1 <= n <= 100.

样例输入

2

样例输出

7

这题大家就好好讨论吧。。。能否直接推出数学表达式?

_Nozomi
正在鼓捣第三题
展开Biu

正在鼓捣第三题……

[查看全文]