且不说数学论证,,这题只要好好模拟打表打几个小数据就一定能发现规律
k个数一定是 0 0 0 0 0 X 的循环节,X出现在p-1的倍数的位置,其余地方都是0
因此 只要循环周期为奇数,则先手赢,否则平手、
明明随便打表就看出答案的题。。。结果没好好打小数据。。打错表了。。。连这么简单的题都没过。。。。
#include <cstdio>
#include <cmath>
#include <cstring>
#include <string>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <iostream>
using namespace std;
const double pi=acos(-1.0);
double eps=0.000001;
int main()
{
int i;
int n=14,j;
/* for (i=1;i<=14;i++)
{
__int64 sum=0;
for (j=1;j<=7-1;j++)
{
sum+=(__int64 )pow(j,i)%7;
sum%=7;
}
printf("%I64d\n",sum);
}
*/ int k,p;
while(cin>>k>>p)
{
p--;
int len=k/p;
if (len%2)
{
printf("YES\n");
}
else printf("NO\n");
}
return 0;
}