2014多校第一场A题 || HDU 4861 Couple doubi

题目链接

题意 : 有K个球,给你一个数P,可以求出K个值,(i=1,2,...,k) : 1^i+2^i+...+(p-1)^i (mod p).然后女朋友先取,再xp取,都希望赢,如果女朋友能赢输出YES,否则输出NO

思路 :这个题,在纸上算算差不多就出来结果了,因为要赢,所以一开始必定拿大的,根据规律可以发现最后的那个取余结果不是0就是某个数,所以就看那个数有奇数个还是偶数个即可。

官方题解:

 1 #include <stdio.h>
 2 #include <string.h>
 3 #include <iostream>
 4 
 5 using namespace std ;
 6 
 7 int main()
 8 {
 9     int k,p ;
10     while(~scanf("%d %d",&k,&p))
11     {
12         if((k/(p-1))%2) puts("YES") ;
13         else puts("NO" ) ;
14     }
15     return 0 ;
16 }
View Code
原文地址:https://www.cnblogs.com/luyingfeng/p/3864104.html