2 条题解
-
0
解析:将位置i上的H看作一堆规模为i的石子,将i与j(j<i)同时翻转,所得到的状态对应的源模型中nim中从一堆数目为i的石子中取i个,又还回来了j个,相当于取了i-j个。PS:如果原来j为h,那么这样理解:只不过隐藏了两堆一样数目的石子。
#include <bits/stdc++.h> using namespace std; int main() { int n, x, res; scanf("%d", &n); res = 0; for(int i = 1; i <= n; ++i){ scanf("%d", &x); res ^= x; } if(res > 0) printf("Yes\n"); else printf("No\n"); return 0; } -
0
/* 解析:将位置i上的H看作一堆规模为i的石子,将i与j(j<i)同时翻转, 所得到的状态对应的源模型中nim中从一堆数目为i的石子中取i个,又还回来了j个, 相当于取了i-j个。PS:如果原来j为h,那么这样理解:只不过隐藏了两堆一样数目的石子。 */ #include<bits/stdc++.h> using namespace std; int main() { int n,x,res; scanf("%d",&n); res=0; for(int i=1;i<=n;++i){ scanf("%d",&x); res^=x; } if(res>0) printf("Yes\n"); else printf("No\n"); return 0; }
- 1
信息
- ID
- 364
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 5
- 标签
- 递交数
- 120
- 已通过
- 49
- 上传者