代码通过洛谷p4018所编写
通解只适用于数据比较小的该类型题目
该代码只能通过洛谷p4018 30% 其他的会超时
#include<bits/stdc++.h> using namespace std; char ans[100005]; bool flag[30]; vector<int>v; void f() { memset(flag,1,sizeof(flag)); for(int i=2;i<=30;i++) { if(flag[i]) { for(int j=i+i;j<=30;j+=i) { flag[j]=0; } } } for(int i=1;i<=30;i++)//将质数与1装入容器 { if(flag[i]) { v.push_back(i); } } } int main() { int n; scanf("%d",&n); f(); ans[0]='N';//自己先手已经被拿完了 ans[1]='Y';//只有一个石头的时候必赢 for(int i=2;i<=30;i++) { for(int j=0;j<v.size();j++) { if(ans[i-v[j]]=='N')//我取完后就是他取,他取必输则我必赢 { ans[i]='Y'; break; } else if(i<v[j]) { ans[i]='N'; break; } } } while(n--) { int p; scanf("%d",&p); if(ans[p]=='Y') { printf("October wins!\n"); } else if(ans[p]=='N') { printf("Roy wins!\n"); } } return 0; }
0.0分
0 人评分
破解简单密码 (C语言代码)浏览:1773 |
震宇大神的杀毒软件 (C语言代码)浏览:1264 |
C语言程序设计教程(第三版)课后习题6.11 (C语言代码)for循环浏览:1134 |
用筛法求之N内的素数。 (C++代码)浏览:706 |
字符逆序 (C语言代码)浏览:650 |
C语言考试练习题_保留字母 (C语言代码)浏览:713 |
循环入门练习5 (C语言代码)浏览:841 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1425 |
1054题解浏览:467 |
字符串的输入输出处理 (C语言代码)浏览:1017 |