AOJ.832 路边骗局
来源:互联网 发布:手工皮鞋店铺推荐知乎 编辑:程序博客网 时间:2024/06/10 09:09
Time Limit: 1000 ms Case Time Limit: 1000 ms Memory Limit: 64 MBTotal Submission: 1 Submission Accepted: 1
Judge By Case
Description
作为一个江湖骗子,night_watcher又在路边行骗了。现在他正在路边向路人介绍他的新游戏:
有N堆石子 两个人轮流对其操作 。操作分为两步 第一步是每个人必须执行的:从某堆石子中取一部分(至少一个) 丢弃;第二步可以选择执行或不执行:从之前操作的那堆中拿一部分出来构成新堆。两个人轮流操作,不能操作的人被认为输。
现在给出N堆石子每一堆的个数,假设每次都是路人先操作,且两人都足够聪明,请问路人能否取胜。
输入:
第1行: n, 代表石子堆个数(1 <=n<=1000);
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
有N堆石子 两个人轮流对其操作 。操作分为两步 第一步是每个人必须执行的:从某堆石子中取一部分(至少一个) 丢弃;第二步可以选择执行或不执行:从之前操作的那堆中拿一部分出来构成新堆。两个人轮流操作,不能操作的人被认为输。
现在给出N堆石子每一堆的个数,假设每次都是路人先操作,且两人都足够聪明,请问路人能否取胜。
输入:
第1行: n, 代表石子堆个数(1 <=n<=1000);
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
Input
第1行: n, 代表石子堆个数(1 <=n<=1000);
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
Output
一共1行, 其中每行输出"Yes"或"No"(不用输出双引号), "Yes"表示路人取胜, "No"表示night_watcher取胜.
Sample Input
OriginalTransformed31 2 7
3[EOL] 1[SP]2[SP]7[EOF]
Sample Output
OriginalTransformedYes
来自AOJ ACM培训班第五次训练
先手必胜:a1^a2^...^an!=0 先手必败:a1^a2^...^an=0证明:1、游戏结束状态(0,0,0,0...,0)确实是先手必败态2、对于一个先手必胜态(xor和>0)确实可以转移到一个先手必败态(xor和=0),这里等价于Nim游戏3、下证一个先手必败态(xor和=0),不可以转移到一个先手必败态(xor和=0)(1) 如果不进行第二步,那么等价于Nim游戏,证毕(2)如果进行第二部,考虑反证法,假设某个位置的a可以拆成x和y,满足:x+y<ax^y=a实际发现这样的x和y是不存在的时间复杂度O(n)
#include<cstdio>#include<algorithm>using namespace std;const int maxn = 1010;int main() {//freopen("Text.txt", "r", stdin);int n, i, a;while (scanf("%d", &n) != EOF) {int ans = 0;for (i = 0; i < n; i++) {scanf("%d", &a);ans ^= a;}if (ans)printf("Yes\n");elseprintf("No\n");}}
阅读全文
0 0
- AOJ.832 路边骗局
- 骗局!
- AOJ
- Aoj
- 路边小记
- 路边拾遗。。。
- 路边风景独好
- 路边行乞的小孩
- 上海经典路边摊
- 路边事故直拍!
- 路边的树
- ripple骗局
- 花呗套现骗局
- 传智播客骗局
- 玩客币骗局
- AOJ E
- AOJ I
- AOJ J
- Cause: com.android.dex.DexException: Multiple dex files define Lcom
- CI内的加密解密用法
- [leetcode: Python]501. Find Mode in Binary Search Tree
- Android Animation动画
- 使用hibernate某个属性值保存不进去,update=false
- AOJ.832 路边骗局
- Ubuntu14.04在线安装配置Nginx
- Nodejs快速入门
- HttpServlet was not found on the Java
- 局域网访问本地localhost
- 【SDOI2017】序列计数
- Codeforces 103D Time to Raid Cowavans 分块思想
- js数组去重的三种常用方法总结
- sql用户和权限管理