作为一个江湖骗子,night_watcher又在路边行骗了。现在他正在路边向路人介绍他的新游戏:
有N堆石子 两个人轮流对其操作 。操作分为两步 第一步是每个人必须执行的:从某堆石子中取一部分(至少一个) 丢弃;第二步可以选择执行或不执行:从之前操作的那堆中拿一部分出来构成新堆。两个人轮流操作,不能操作的人被认为输。
现在给出N堆石子每一堆的个数,假设每次都是路人先操作,且两人都足够聪明,请问路人能否取胜。
输入:
第1行: n, 代表石子堆个数(1 <=n<=1000);
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
输入第1行: n, 代表石子堆个数(1 <=n<=1000);
第2行: n个正整数,每两个正整数用空格隔开,代表n堆石子中每一堆的数量,每堆石子数不超过10000
输出一共1行, 其中每行输出"Yes"或"No"(不用输出双引号), "Yes"表示路人取胜, "No"表示night_watcher取胜.
样例输入复制3 1 2 7样例输出复制
Yes
#includeusing namespace std; int main() { int n, num; cin >> n; int flag = 0; for (int i = 0; i < n; ++i) { cin >> num; flag ^= num; } if (flag) cout << "Yes" << endl; else cout << "No" << endl; return 0; }



