样例输入
1 1
1 2
1 3
1 4
1 5
2 1
2 2
2 3
2 4
2 5
样例输出
Matrix67
Matrix67
Matrix67
Matrix67
Matrix67
Matrix67
Shadow
Shadow
Matrix67
Matrix67
思路:首先看数据里面有10000位的数,不是10000,是10^10000。所以高精度这大数加减,不优化必须超时。由此断定,这个题应该和这些无关。接下来思考,对于这些糖果,2,3和22,23甚至1234562,932643有区别?除了个位以外前面爱怎么分怎么分,确切的说是分成一个很小的数+一大堆(这一大堆自己全部吃掉),这样把小的这一坨分成没有1,这样对方应该会赢。接下来讨论这个小的一坨怎么让对方分。先申明,如果对方剩下一堆k个给自己的时候自己是必输,那么对方分2个k给自己就必输(想一想,为什么) 按照这个思路考虑k:对于2,只能分成1 1,认了吧~ 同理3也只能分成1 2,认了吧~比如4,5,6给自己之后,分成2 2,2 3,3 3自己就赢了。7分成1和6显然嘛 如果是2和5,对方吃掉2再把5分成2 3,认了吧~ 如果是3和4,他就吃掉3,把4分成2 2…… 所以7是必输可以证明8也是必输的,9和0(10)必胜,这个问题留给读者下来思考。所以问题就只有一句话,如果这两堆的个位数字都是{2,3,7,8}里面的一个,就是对方必胜,否则自己必胜。代码几行也就可以了。
【伪题解】先写个SG暴力打表找规律:
#include <cstdio>
#include <cstdlib>
#include <cstring>
using namespace std;
int N,sg[250][250];
bool F[100];
int main()
{
freopen("table.txt","w",stdout);
int s,i,j,k;
N=50;
for(i=1;i<=N;i++)sg[i][1]=sg[1][i]=1;
for(s=4;s<=(N<<1);s++)
for(i=2;i<=N&&s-i>=2;i++)
{
j=s-i;
memset(F,0,sizeof(F));
for(k=1;k<j;k++)F[sg[k][j-k]]=true;
for(k=1;k<i;k++)F[sg[k][i-k]]=true;
for(k=0;F[k]==true;k++);
sg[i][j]=k;
}
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
printf("sg[%2d][%2d]=",i,j);
if(sg[i][j]==0)printf(" 0 ");
else printf("%d ",sg[i][j]); //这个地方突出0是为了方便观察
}
printf("\n");
}
return 0;
}
然后就打出了这样一个表:
sg[ 1][ 1]=1 sg[ 1][ 2]=1 sg[ 1][ 3]=1 sg[ 1][ 4]=1 sg[ 1][ 5]=1 sg[ 1][ 6]=1 sg[ 1][ 7]=1 sg[ 1][ 8]=1 sg[ 1][ 9]=1 sg[ 1][10]=1 sg[ 1][11]=1 sg[ 1][12]=1 sg[ 1][13]=1 sg[ 1][14]=1 sg[ 1][15]=1 sg[ 1][16]=1 sg[ 1][17]=1 sg[ 1][18]=1 sg[ 1][19]=1 sg[ 1][20]=1 sg[ 1][21]=1 sg[ 1][22]=1 sg[ 1][23]=1 sg[ 1][24]=1 sg[ 1][25]=1 sg[ 1][26]=1 sg[ 1][27]=1 sg[ 1][28]=1 sg[ 1][29]=1 sg[ 1][30]=1 sg[ 1][31]=1 sg[ 1][32]=1 sg[ 1][33]=1 sg[ 1][34]=1 sg[ 1][35]=1 sg[ 1][36]=1 sg[ 1][37]=1 sg[ 1][38]=1 sg[ 1][39]=1 sg[ 1][40]=1 sg[ 1][41]=1 sg[ 1][42]=1 sg[ 1][43]=1 sg[ 1][44]=1 sg[ 1][45]=1 sg[ 1][46]=1 sg[ 1][47]=1 sg[ 1][48]=1 sg[ 1][49]=1 sg[ 1][50]=1
sg[ 2][ 1]=1 sg[ 2][ 2]= 0 sg[ 2][ 3]= 0 sg[ 2][ 4]=2 sg[ 2][ 5]=2 sg[ 2][ 6]=3 sg[ 2][ 7]= 0 sg[ 2][ 8]= 0 sg[ 2][ 9]=4 sg[ 2][10]=4 sg[ 2][11]=2 sg[ 2][12]= 0 sg[ 2][13]= 0 sg[ 2][14]=3 sg[ 2][15]=3 sg[ 2][16]=5 sg[ 2][17]= 0 sg[ 2][18]= 0 sg[ 2][19]=2 sg[ 2][20]=2 sg[ 2][21]=4 sg[ 2][22]= 0 sg[ 2][23]= 0 sg[ 2][24]=3 sg[ 2][25]=3 sg[ 2][26]=2 sg[ 2][27]= 0 sg[ 2][28]= 0 sg[ 2][29]=7 sg[ 2][30]=7 sg[ 2][31]=8 sg[ 2][32]= 0 sg[ 2][33]= 0 sg[ 2][34]=2 sg[ 2][35]=2 sg[ 2][36]=3 sg[ 2][37]= 0 sg[ 2][38]= 0 sg[ 2][39]=4 sg[ 2][40]=4 sg[ 2][41]=2 sg[ 2][42]= 0 sg[ 2][43]= 0 sg[ 2][44]=3 sg[ 2][45]=3 sg[ 2][46]=5 sg[ 2][47]= 0 sg[ 2][48]= 0 sg[ 2][49]=2 sg[ 2][50]=2
sg[ 3][ 1]=1 sg[ 3][ 2]= 0 sg[ 3][ 3]= 0 sg[ 3][ 4]=2 sg[ 3][ 5]=2 sg[ 3][ 6]=3 sg[ 3][ 7]= 0 sg[ 3][ 8]= 0 sg[ 3][ 9]=4 sg[ 3][10]=4 sg[ 3][11]=2 sg[ 3][12]= 0 sg[ 3][13]= 0 sg[ 3][14]=3 sg[ 3][15]=3 sg[ 3][16]=5 sg[ 3][17]= 0 sg[ 3][18]= 0 sg[ 3][19]=2 sg[ 3][20]=2 sg[ 3][21]=4 sg[ 3][22]= 0 sg[ 3][23]= 0 sg[ 3][24]=3 sg[ 3][25]=3 sg[ 3][26]=2 sg[ 3][27]= 0 sg[ 3][28]= 0 sg[ 3][29]=7 sg[ 3][30]=7 sg[ 3][31]=8 sg[ 3][32]= 0 sg[ 3][33]= 0 sg[ 3][34]=2 sg[ 3][35]=2 sg[ 3][36]=3 sg[ 3][37]= 0 sg[ 3][38]= 0 sg[ 3][39]=4 sg[ 3][40]=4 sg[ 3][41]=2 sg[ 3][42]= 0 sg[ 3][43]= 0 sg[ 3][44]=3 sg[ 3][45]=3 sg[ 3][46]=5 sg[ 3][47]= 0 sg[ 3][48]= 0 sg[ 3][49]=2 sg[ 3][50]=2
sg[ 4][ 1]=1 sg[ 4][ 2]=2 sg[ 4][ 3]=2 sg[ 4][ 4]=2 sg[ 4][ 5]=2 sg[ 4][ 6]=3 sg[ 4][ 7]=3 sg[ 4][ 8]=4 sg[ 4][ 9]=4 sg[ 4][10]=4 sg[ 4][11]=2 sg[ 4][12]=2 sg[ 4][13]=5 sg[ 4][14]=3 sg[ 4][15]=3 sg[ 4][16]=5 sg[ 4][17]=6 sg[ 4][18]=2 sg[ 4][19]=2 sg[ 4][20]=2 sg[ 4][21]=4 sg[ 4][22]=4 sg[ 4][23]=3 sg[ 4][24]=3 sg[ 4][25]=3 sg[ 4][26]=2 sg[ 4][27]=2 sg[ 4][28]=7 sg[ 4][29]=7 sg[ 4][30]=7 sg[ 4][31]=8 sg[ 4][32]=8 sg[ 4][33]=2 sg[ 4][34]=2 sg[ 4][35]=2 sg[ 4][36]=3 sg[ 4][37]=4 sg[ 4][38]=4 sg[ 4][39]=4 sg[ 4][40]=4 sg[ 4][41]=2 sg[ 4][42]=2 sg[ 4][43]=5 sg[ 4][44]=3 sg[ 4][45]=3 sg[ 4][46]=5 sg[ 4][47]=6 sg[ 4][48]=2 sg[ 4][49]=2 sg[ 4][50]=2
sg[ 5][ 1]=1 sg[ 5][ 2]=2 sg[ 5][ 3]=2 sg[ 5][ 4]=2 sg[ 5][ 5]=2 sg[ 5][ 6]=3 sg[ 5][ 7]=3 sg[ 5][ 8]=4 sg[ 5][ 9]=4 sg[ 5][10]=4 sg[ 5][11]=2 sg[ 5][12]=2 sg[ 5][13]=5 sg[ 5][14]=3 sg[ 5][15]=3 sg[ 5][16]=5 sg[ 5][17]=6 sg[ 5][18]=2 sg[ 5][19]=2 sg[ 5][20]=2 sg[ 5][21]=4 sg[ 5][22]=4 sg[ 5][23]=3 sg[ 5][24]=3 sg[ 5][25]=3 sg[ 5][26]=2 sg[ 5][27]=2 sg[ 5][28]=7 sg[ 5][29]=7 sg[ 5][30]=7 sg[ 5][31]=8 sg[ 5][32]=8 sg[ 5][33]=2 sg[ 5][34]=2 sg[ 5][35]=2 sg[ 5][36]=3 sg[ 5][37]=4 sg[ 5][38]=4 sg[ 5][39]=4 sg[ 5][40]=4 sg[ 5][41]=2 sg[ 5][42]=2 sg[ 5][43]=5 sg[ 5][44]=3 sg[ 5][45]=3 sg[ 5][46]=5 sg[ 5][47]=6 sg[ 5][48]=2 sg[ 5][49]=2 sg[ 5][50]=2
sg[ 6][ 1]=1 sg[ 6][ 2]=3 sg[ 6][ 3]=3 sg[ 6][ 4]=3 sg[ 6][ 5]=3 sg[ 6][ 6]=3 sg[ 6][ 7]=3 sg[ 6][ 8]=4 sg[ 6][ 9]=4 sg[ 6][10]=4 sg[ 6][11]=5 sg[ 6][12]=5 sg[ 6][13]=5 sg[ 6][14]=3 sg[ 6][15]=3 sg[ 6][16]=5 sg[ 6][17]=6 sg[ 6][18]=6 sg[ 6][19]=6 sg[ 6][20]=6 sg[ 6][21]=4 sg[ 6][22]=4 sg[ 6][23]=3 sg[ 6][24]=3 sg[ 6][25]=3 sg[ 6][26]=7 sg[ 6][27]=7 sg[ 6][28]=7 sg[ 6][29]=7 sg[ 6][30]=7 sg[ 6][31]=8 sg[ 6][32]=8 sg[ 6][33]=3 sg[ 6][34]=3 sg[ 6][35]=3 sg[ 6][36]=3 sg[ 6][37]=4 sg[ 6][38]=4 sg[ 6][39]=4 sg[ 6][40]=4 sg[ 6][41]=5 sg[ 6][42]=5 sg[ 6][43]=5 sg[ 6][44]=3 sg[ 6][45]=3 sg[ 6][46]=5 sg[ 6][47]=6 sg[ 6][48]=6 sg[ 6][49]=6 sg[ 6][50]=6
sg[ 7][ 1]=1 sg[ 7][ 2]= 0 sg[ 7][ 3]= 0 sg[ 7][ 4]=3 sg[ 7][ 5]=3 sg[ 7][ 6]=3 sg[ 7][ 7]= 0 sg[ 7][ 8]= 0 sg[ 7][ 9]=4 sg[ 7][10]=4 sg[ 7][11]=5 sg[ 7][12]= 0 sg[ 7][13]= 0 sg[ 7][14]=3 sg[ 7][15]=3 sg[ 7][16]=5 sg[ 7][17]= 0 sg[ 7][18]= 0 sg[ 7][19]=6 sg[ 7][20]=6 sg[ 7][21]=4 sg[ 7][22]= 0 sg[ 7][23]= 0 sg[ 7][24]=3 sg[ 7][25]=3 sg[ 7][26]=7 sg[ 7][27]= 0 sg[ 7][28]= 0 sg[ 7][29]=7 sg[ 7][30]=7 sg[ 7][31]=8 sg[ 7][32]= 0 sg[ 7][33]= 0 sg[ 7][34]=3 sg[ 7][35]=3 sg[ 7][36]=3 sg[ 7][37]= 0 sg[ 7][38]= 0 sg[ 7][39]=4 sg[ 7][40]=4 sg[ 7][41]=5 sg[ 7][42]= 0 sg[ 7][43]= 0 sg[ 7][44]=3 sg[ 7][45]=3 sg[ 7][46]=5 sg[ 7][47]= 0 sg[ 7][48]= 0 sg[ 7][49]=6 sg[ 7][50]=6
sg[ 8][ 1]=1 sg[ 8][ 2]= 0 sg[ 8][ 3]= 0 sg[ 8][ 4]=4 sg[ 8][ 5]=4 sg[ 8][ 6]=4 sg[ 8][ 7]= 0 sg[ 8][ 8]= 0 sg[ 8][ 9]=4 sg[ 8][10]=4 sg[ 8][11]=5 sg[ 8][12]= 0 sg[ 8][13]= 0 sg[ 8][14]=5 sg[ 8][15]=5 sg[ 8][16]=5 sg[ 8][17]= 0 sg[ 8][18]= 0 sg[ 8][19]=6 sg[ 8][20]=6 sg[ 8][21]=4 sg[ 8][22]= 0 sg[ 8][23]= 0 sg[ 8][24]=7 sg[ 8][25]=7 sg[ 8][26]=7 sg[ 8][27]= 0 sg[ 8][28]= 0 sg[ 8][29]=7 sg[ 8][30]=7 sg[ 8][31]=8 sg[ 8][32]= 0 sg[ 8][33]= 0 sg[ 8][34]=4 sg[ 8][35]=4 sg[ 8][36]=4 sg[ 8][37]= 0 sg[ 8][38]= 0 sg[ 8][39]=4 sg[ 8][40]=4 sg[ 8][41]=5 sg[ 8][42]= 0 sg[ 8][43]= 0 sg[ 8][44]=5 sg[ 8][45]=5 sg[ 8][46]=5 sg[ 8][47]= 0 sg[ 8][48]= 0 sg[ 8][49]=6 sg[ 8][50]=6
sg[ 9][ 1]=1 sg[ 9][ 2]=4 sg[ 9][ 3]=4 sg[ 9][ 4]=4 sg[ 9][ 5]=4 s