http://acm.hdu.edu.cn/showproblem.php?pid=4861
两个人进行游戏,桌上有k个球,第i个球的值为1^i+2^i+⋯+(p−1)^i%p,两个人轮流取,如果DouBiNan的值大的话就输出YES,否则输出NO。
#include<iostream> #include<cstdio> using namespace std; int main() { int k,p,l; while(~scanf("%d%d",&k,&p)){ l=k/(p-1); if (l%2==0) puts("NO"); else puts("YES"); } return 0; }