首页 > 代码库 > HDU 4994 Revenge of Nim (博弈)
HDU 4994 Revenge of Nim (博弈)
题目链接:HDU 4994 Revenge of Nim
题意:两个取石头,分别在N堆里去。只有第一堆取完才能取第二堆,以此类推,最后一个取完的为赢家。
思路:从头开始扫,直到第一个不为1为止,判断现在的主动权在谁手里,谁就是赢家。(这里读者可以自己写几组数据试试。)
AC代码:
#include<stdio.h> #include<string.h> int main() { int yaoga; int t,i,n; int a[1010]; while(scanf("%d",&t)!=EOF) { while(t--) { scanf("%d",&n); int count=0; bool ok=true; for(i=1;i<=n;i++) { scanf("%d",&a[i]); if(a[i]>1) ok=false; if(ok) count++; } if(ok) { if(count%2==0) printf("No\n"); else printf("Yes\n"); } else { if(count%2) printf("No\n"); else printf("Yes\n"); } } } return 0; }
HDU 4994 Revenge of Nim (博弈)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。