天天看點

Roy&October之取石子II

【TimeGate】

https://www.luogu.org/problem/P4860

【解題思路】

首先,雙方隻能取p^k,k=0或1,換句話說就是每次隻能拿0個或任意一個質數的

每次可以取走1、2、3,但4取不了。則兩個人每一回合的最強政策都是共取走4個。是以盡量取一個數,使剩餘的石子數是4的倍數,就獲勝了。是以除了初始數量為4的倍數,其他情況先取的都可以獲勝。

【code】

1 #include<bits/stdc++.h>
 2 using namespace std;
 3 int t;
 4 int main(){
 5     cin>>t;
 6     while (t--){//組數
 7         int n;
 8         scanf("%d",&n);
 9         if (n%4==0) printf("Roy wins!\n");//是4的倍數後取的勝
10         else printf("October wins!\n");//否則先取的勝
11     }
12     return 0;
13 }```      

轉載于:https://www.cnblogs.com/66dzb/p/11515453.html