[cpp]
//HDOJ 4203 Doubloon Game 博弈 找規律
/*
題意:有n個硬幣,兩個人輪流取,每次只能取m個pow,(1,m,m^2...)
如果先手必敗輸出0,否則輸出第一步最少取走的硬幣數量
思路:找規律
當n=2時:
0 1 2 |3 4 5 |6 7 8 9 ...
P N N |P N N |P N N P ...
當n=3時:
0 1 2 3 4 5 6 7 8 9 ...
P N P N P N P N P N ...
當n=4時:
0 1 2 3 4 |5 6 7 8 9 |...
P N P N N |P N P N N |...
當n=5時:
0 1 2 3 4 5 6 7 8 9 ...
P N P N P N P N P N ...
...
規律顯然
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int T,n,m;
int main(){
scanf("%d",&T);
while(T--){
scanf("%d %d",&n,&m);
if(m%2){
puts(n%2?"1":"0");
} www.2cto.com
else{
n %= (m+1);
if(n==m)
printf("%d\n",m);
else
puts(n%2?"1":"0");
}
}
return 0;
}