Uva 11489(博弈论)
来源:互联网 发布:千里眼软件是什么 编辑:程序博客网 时间:2024/06/06 03:32
题目:http://acm.hust.edu.cn/vjudge/problem/19956
大致意思就是给你一个数,两个人每次从中抽出一位数,然后使剩下的数是3的倍数,一直抽到不能抽为止,谁不能抽了谁就输,问你最后是谁赢了。
思路:第一次抽一位数之后,剩下的数是3的倍数,3的倍数再抽一个还要保证是3的倍数,那么抽的那一个数也一定是3的倍数。
于是,代码如下:
#include<cstdio>#include<cmath>#include<iostream>#include<algorithm>#include<cstring>using namespace std;const int maxn=1e4+5;char s[maxn];int n;int main(){ scanf("%d",&n); for(int k=1;k<=n;k++) { int sum=0; int l=0; int p=0; scanf("%s",s); int str=strlen(s); for(int i=0;i<str;i++) sum+=s[i]-'0'; int x=sum%3; for(int i=0;i<str;i++) { if((s[i]-'0'-x)%3==0)//第一次抽数 { p=1; l=1; s[i]='a'; break; } } if(p)//第一次一定抽出一个,如果没有,就T胜利,后面的都不用算了 { for(int i=0;i<str;i++) { if(s[i]=='a') continue; if((s[i]-'0')%3==0)//一直寻找,看能否找到一个数是3的倍数 { if(l==0) l=1; else l=0; } } } if(l==0) printf("Case %d: T\n",k); else printf("Case %d: S\n",k); }}
0 0
- Uva 11489(博弈论)
- UVA 10891 Game of Sum (博弈论 + 区间dp)
- uva 1378 A Funny Stone Game(博弈论)
- Bachet's Game - UVa 10404 dp博弈论
- uva 10404 Nim博弈论变式
- 【UVA 10561】 Treblecross|博弈论|SG函数
- 博弈论的局限性(博弈论的诡计)
- 博弈论(1):囚徒困境中的博弈论
- 博弈论相关(转)
- hdoj 2147(博弈论)
- 博弈论(1)
- Nim Game (博弈论)
- 博弈论(一)
- 博弈论(二)
- poj_1082_Calendar Game(博弈论)
- SG函数(博弈论)
- 博弈论 ACM(转)
- 博弈论 (SG函数)
- LeetCode--No.101--Symmetric Tree
- 学习之maven(2)
- 浅谈c语言基础程序结构
- Linux 解压命令
- zip伪加密
- Uva 11489(博弈论)
- UVA297Quadtrees
- 将字符串中的空格替换为%20
- 【spring】spring reference doc 4.3.1 研读<三> Spring aop
- iOS多线程的初步研究(九)-- dispatch源
- jquery ajax
- 三极管的工作原理(详细、通俗易懂、图文并茂)
- 什么才是正确的javascript数组检测方式
- oracle 的绑定变量