题意:给一个环编号1~n,由n个硬币组成,每次只可取连续的1~k个硬币,A,B两人轮流取,问最后谁赢。
我们可以利用对称性解题,第一个玩家怎么取,第二个玩家在对称点取一样的,这样先手必败
1 #include2 #include 3 #include 4 using namespace std; 5 int main() 6 { 7 int t,n,k; 8 int count=1; 9 scanf("%d",&t);10 while(t--)11 {12 scanf("%d%d",&n,&k);13 printf("Case %d: ",count++);14 if(k==1&&(n%2==1)) puts("first");15 else if(n<=k) puts("first");16 else puts("second");17 }18 }