题意 : 有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 }
2014多校第一场A题 || HDU 4861 Couple doubi,布布扣,bubuko.com
时间: 2024-12-27 08:40:59