option=com_onlinejudge&Itemid=8&page=show_problem&problem=4336" style="">题目链接:uva 1561 - Cycle Game

题目大意:给出一个环,每次从起点開始,能够选择一个权值非0的边移动,移动后减掉权值至少1点。

不能移动的为失败。

解题思路:

  • 1:有0的情况,假设有方向离权值为0的边的步数为奇数,则为必胜。否则必败。
  • 2:无0的情况,奇数边必胜;
  • 3:有1的情况。同0的推断一样;
  • 4:无1的情况,仅仅剩偶数边的情况,必败;
#include <cstdio>
#include <cstring>
#include <algorithm> using namespace std;
const int maxn = 30; int N, arr[maxn]; bool check (int k) {
int p = -1;
while (arr[++p] != k);
int q = N;
while (arr[--q] != k);
q = N - 1 - q;
return (p&1) || (q&1);
} bool judge () {
for (int i = 0; i < N; i++) {
if (arr[i] == 0)
return check(0);
} if (N&1)
return true; for (int i = 0; i < N; i++) {
if (arr[i] == 1)
return check(1);
}
return false;
} int main () {
int cas;
scanf("%d", &cas);
while (cas--) {
scanf("%d", &N);
for (int i = 0; i < N; i++)
scanf("%d", &arr[i]);
printf("%s\n", judge() ? "YES" : "NO");
}
return 0;
}

最新文章

  1. MAC OS X El CAPITAN 搭建SPRING MVC (1)- 目录、包名、创建web.xml
  2. eclipse配置tomcat
  3. C# XMPP客户端与openfire通信(Matrix Xmpp 授权破解教程)
  4. Visual Studio 2010 实用功能:使用web.config发布文件替换功能
  5. Windows下如何安装Python的第三方库
  6. iOS 圆角图片
  7. 怎样解决asp.net.mvc上传附件超过长度问题?
  8. Codeforces Round #275 Div.1 B Interesting Array --线段树
  9. 死锁及oracle死锁--转载
  10. 关于String和StringBuffer的使用
  11. TCP/IP:链路层
  12. Android和C#实时视频传输Demo
  13. asp.net mvc 中 tempdata、viewdata、viewbag生命周期(转载)
  14. C#Redis列表List
  15. Sersync同步过滤.svn文件夹
  16. Spring Mvc 用Demo去学习
  17. linux使用yum安装mariadb
  18. 从session原理出发解决微信小程序的登陆问题
  19. FPGA的发展史及FPGA 的基础架构
  20. bram和dram的区别

热门文章

  1. R与数据分析旧笔记(十一)数据挖掘初步
  2. classpath的总结
  3. 推荐一款手机端的图片滑动插件iSlider
  4. CSS 与 HTML5 响应式图片
  5. CSS3 Media Query
  6. Visual Studio 常用快捷键总结
  7. .net mvc笔记1_ The MVC Pattern
  8. SendMessage发送WM_COMMAND消息控制另一个程序的某一个按钮
  9. HTML语法
  10. java.lang.NoClassDefFoundError: javax/servlet/AsyncContext