2014 Multi-University Training Contest 1 - A. Couple doubi

题目链接:http://acm.hdu.edu.cn/showproblem.php?

pid=4861


题目大意:

有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");

    }
}


posted @ 2017-05-23 13:07  jzdwajue  阅读(119)  评论(0编辑  收藏  举报