uva-457-Linear Cellular Automata

这道题目并不难,就是题意太难以理解了,我读了老长时间才好,,真墨迹。。。

还有要注意当状态为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;
}
		


你可能感兴趣的:(uva-457-Linear Cellular Automata)