Time Limit: 5000/1000 MS (Java/Others) Memory Limit: 40000/1000 K (Java/Others)
Total Submission(s): 6504 Accepted Submission(s):
3869
把棋盘的左下角看成(1,1)那么起始点就是(n,m), 最后谁能得到(1,1)这个点谁就胜,可以看出只要先抢到(奇数,奇数)接下来无论对方怎么走都 会至少有一个坐标是偶数,那么对方就一定会拜,先者有三种走发(n-1,m),(n,m-1),(n-1,m-1) 只有m和n都是奇数的时候第一步走不出来(奇数,奇数)其余的(只要有一个是偶数)就肯定会得到必胜态 (奇,奇),就会赢。。即一定要要想赢一定要下到(奇, 奇)。
代码:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<math.h> 4 5 int main(){ 6 int m, n; 7 while(scanf("%d %d", &n, &m) && (m || n)){ 8 if(m % 2 != 0 && n % 2 != 0){ 9 printf("What a pity!\n"); 10 } 11 else{ 12 printf("Wonderful!\n"); 13 } 14 } 15 return 0; 16 }
原文:http://www.cnblogs.com/xiaoyeye/p/3885810.html