joj2608 石子

 2608: 石子


ResultTIME LimitMEMORY LimitRun TimesAC TimesJUDGE
1s 65536K 791 210 Standard

Xiao Tang和Xiao Jiang非常喜欢玩一种有趣的小游戏: 有N个石子,两人轮流从中取出1个, 3个或4个石子,当石子被取空时,游戏结束。 最后一个取石子的人获胜, 第一次总是Xiao Tang取. 当然,他们俩都足够聪明,总会采取最优的策略。

Input

每行会有一个正整数N(N<=100000), 代表石子的个数, N=0 代表输入结束

Output

输出获胜人的名字。

Sample Input

1
2
0

Sample Output

Xiao Tang
Xiao Jiang

 

Problem Source: homeboy

 


This problem is used for contest: 140  187  198 


Submit / Problem List / Status / Discuss

虽然只是个水水的递推,
但是做到这个题就一定要怀念一下下了。
这是上大学接触到的第一道真正意义的ACM题了(高中只做过生物以及物理竞赛水了个小奖的非OIer的男人伤不起...),还记得去年是某学长在某宣讲会上讲这题。当时觉得略神奇。
眨眼就大一下了...过得真快。
水平好像没什么大长进,要发奋图强了。
 1 #include <stdio.h>
 2 
 3 int main()
 4 {
 5     int a[100005];
 6     int i, n;
 7 
 8     a[1] = 1;
 9     a[2] = 0;
10     a[3] = 1;
11     a[4] = 1;
12 
13     for (i=5; i<100005; ++i)
14     {
15         if (1==a[i-1] && 1==a[i-3] && 1==a[i-4])
16         {
17             a[i] = 0;
18         }
19         else
20         {
21             a[i] = 1;
22         }
23     }
24     while (scanf("%d", &n)==1, n)
25     {
26         if (1 == a[n])
27         {
28             printf("Xiao Tang\n");
29         }
30         else
31         {
32             printf("Xiao Jiang\n");
33         }
34     }
35 
36     return 0;
37 }

 

 
posted @ 2012-04-17 20:04  漂木  阅读(184)  评论(0编辑  收藏  举报