joj2608 石子

 2608: 石子


Result TIME Limit MEMORY Limit Run Times AC Times JUDGE
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 }

 

 

你可能感兴趣的:(OJ)