2014 Multi-University Training Contest 1 - A. Couple doubi
题目链接:http://acm.hdu.edu.cn/showproblem.php?
题目大意:
有k个数,两个人轮流取,对于取到的数 i 。能够得到一个值: 1^i+2^i+...+(p-1)^i (mod p). 问最后先取的人是否能取胜,取胜的标准是值的和更大。
解题思路:
比赛的时候用费马小定理得到当(p - 1)| k 时,该值为 p - 1。
然后写了几个发现其它的情况都是0。猜了一下,1A了。
正确的解题思路:http://blog.sina.com.cn/s/blog_6bddecdc0102uy9g.html
代码:
int k, p; int main () { while(~scanf("%d%d", &k, &p)) { int t = k / (p - 1); if (t % 2 == 1) puts("YES"); else puts("NO"); } }