/* HDU 1404 */ #include #include #include #include using namespace std; const int MAXN=1000000; int sg[MAXN]; int get_length(int n)//得到整数n的位数 { if(n/100000) return 6; if(n/10000) return 5; if(n/1000) return 4; if(n/100) return 3; if(n/10) return 2; return 1; } void _extend(int n)//sg[n]=0;表示n为后者必胜 //那么所以可以一步变成n的都是前者必胜 { int len=get_length(n); int i; for(i=len;i>=1;i--)//每一个位上加上一个数 { int m=n; int base=1; for(int j=1;j