标签:输出 scan names 否则 大学英语 math mat 多个 algorithm
1 3Sample Output
Kiki Cici
数学问题 博弈论
构造一个sg函数(不知道算不算),简单递推即可
n=0是必败态,n=2的幂是必胜态。
其他时候,只要能转移到一个必败态,就是必胜态。
后来发现好像只要看n%3是否等于0就能判断了,也是神奇
1 /*by SilverN*/ 2 #include<algorithm> 3 #include<iostream> 4 #include<cstring> 5 #include<cstdio> 6 #include<cmath> 7 #include<vector> 8 using namespace std; 9 const int mxn=1010; 10 int pw[]={0,1,2,4,8,16,32,64,128,256,512}; 11 int n; 12 int sg[mxn]; 13 void init(){ 14 sg[0]=0; 15 for(int i=1;i<=1000;i++){ 16 for(int j=1;j<=10 && pw[j]<=i;j++){ 17 if(sg[i-pw[j]]==0){ 18 sg[i]=1; 19 break; 20 } 21 } 22 } 23 return; 24 } 25 int main(){ 26 int i,j; 27 init(); 28 while(scanf("%d",&n)!=EOF){ 29 if(sg[n])printf("Kiki\n"); 30 else printf("Cici\n"); 31 } 32 return 0; 33 }
HDU1847 Good Luck in CET-4 Everybody!
标签:输出 scan names 否则 大学英语 math mat 多个 algorithm
原文地址:http://www.cnblogs.com/SilverNebula/p/6649147.html