shuoj 418 丢史蒂芬妮(素数筛+sg函数)
生活随笔
收集整理的這篇文章主要介紹了
shuoj 418 丢史蒂芬妮(素数筛+sg函数)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
丟史蒂芬妮
代碼:
#include<bits/stdc++.h> using namespace std; const int N=500+5; int SG[N][N]; bool S[N]; vector<int>prime; bool not_prime[N]; void get_SG(int n) {memset(SG,0,sizeof(SG));for(int i=1;i<=n;i++){for(int j=1;j<=n;j++){memset(S,false,sizeof(S));for(int k=0;k<prime.size();k++){if(j-prime[k]>=1)S[SG[i][j-prime[k]]]=true;else break;}for(int k=0;k<prime.size();k++){if(i-prime[k]>=1)S[SG[i-prime[k]][j]]=true;else break;}for(int k=0;k<prime.size();k++){if(j-prime[k]>=1&&i-prime[k]>=1)S[SG[i-prime[k]][j-prime[k]]]=true;else break;}for(int k=0;k<N;k++)if(!S[k]){SG[i][j]=k;break;}}} } void get_prime(int n) {memset(not_prime,false,sizeof(not_prime));for(int i=2;i<=n;i++){if(!not_prime[i]){prime.push_back(i);for(int j=i+i;j<=n;j+=i){not_prime[j]=true;}}} } int main() {ios::sync_with_stdio(false);cin.tie(0);get_prime(500);get_SG(500);int t;cin>>t;while(t--){int n,m;cin>>n>>m;if(SG[n][m])cout<<"Sora"<<endl;else cout<<"Shiro"<<endl;}return 0; }?
轉載于:https://www.cnblogs.com/widsom/p/7171428.html
總結
以上是生活随笔為你收集整理的shuoj 418 丢史蒂芬妮(素数筛+sg函数)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Elasticsearch5.x 升级-
- 下一篇: 使用7zip压解各种文件的经常使用命令