模拟的水题,题目真心不想读,看了一遍没看懂就搜答案去了
意思是什么还是看下面的代码吧
原帖地址:http://hi.baidu.com/007dreamfly/item/7f7ae4dd45e3d740d73aae16
#include"stdio.h"
#include"string.h"
int g[25][25],temp[25][25],D[20];
int main()
{
int day,i,j,sum,T;
scanf("%d",&T);
while(T--)
{
memset(g,0,sizeof(g));
scanf("%d",&day);
for(i=0;i<16;i++)
scanf("%d",&D[i]);
for(i=1;i<=20;i++)
{
for(j=1;j<=20;j++)
scanf("%d",&g[i][j]);
}
while(day--)
{
for(i=1;i<=20;i++)
{
for(j=1;j<=20;j++)
{
sum=g[i][j]+g[i-1][j]+g[i][j-1]+g[i][j+1]+g[i+1][j];
sum=g[i][j]+D[sum];
if(sum>3)
sum=3;
if(sum<0)
sum=0;
temp[i][j]=sum;//用一个数组保存计算后的值
}
}
for(i=1;i<=20;i++)
for(j=1;j<=20;j++)
g[i][j]=temp[i][j];
}
for(i=1;i<=20;i++)
{
for(j=1;j<=20;j++)
if(g[i][j]==0)
printf(".");
else if(g[i][j]==1)
printf("!");
else if(g[i][j]==2)
printf("X");
else
printf("#");
printf("\n");
}
if(T!=0)
printf("\n");
}
return 0;
}