这道题目并不难,就是题意太难以理解了,我读了老长时间才好,,真墨迹。。。
还有要注意当状态为2的时候输出的x为小写的,就在这里WA了一次,晕死了,,,,,
#include<stdio.h>
#include<string.h>
int main()
{
int dna[10],s[51][41];
int n,i,j,leap;
scanf("%d",&n);
while(n--)
{
for(i=0;i<10;i++)
scanf("%d",&dna[i]);
memset(s,0,sizeof(s));
s[0][20]=1;
for(i=1;i<50;i++)
for(j=1;j<41;j++)
{
leap=s[i-1][j-1]+s[i-1][j]+s[i-1][j+1];
s[i][j]=dna[leap];
}
for(i=0;i<50;i++)
{
for(j=1;j<41;j++)
{
if(s[i][j]==0)
printf(" ");
if(s[i][j]==1)
printf(".");
if(s[i][j]==2)
printf("x");
if(s[i][j]==3)
printf("W");
}
printf("\n");
}
if(n!=0)
printf("\n");
}
return 0;
}