-
//zoj 1051 A New Growth Industry
-
//Accepted 1051 C ++ 00:00.00 388K
-
#include <stdio.h>
-
#include <string.h>
-
#define MAXN 20
-
char ch[]=".!X#";
-
int dish[MAXN][MAXN],res[MAXN][MAXN];
-
int day,d[16];
-
void solve()
-
{
-
int i,j,k;
-
scanf ("%d",&day);
-
for (k=0; k<16; ++k) scanf ("%d",&d[k]);
-
for (i=0; i<MAXN; ++i)
-
for (j=0; j<MAXN; ++j)
-
scanf ("%d",&dish[i][j]);
-
while (day--){
-
for (i=0; i<MAXN; ++i)
-
for (j=0; j<MAXN; ++j){
-
k = dish[i][j];
-
if (i-1>=0) k += dish[i-1][j];
-
if (i+1<MAXN) k += dish[i+1][j];
-
if (j-1>=0) k += dish[i][j-1];
-
if (j+1<MAXN) k += dish[i][j+1];
-
res[i][j] = dish[i][j]+d[k];
-
if (res[i][j]>3) res[i][j] = 3;
-
if (res[i][j]<0) res[i][j] = 0;
-
}
-
memcpy (dish,res,sizeof(dish));
-
}
-
for (i=0; i<MAXN; ++i){
-
for (j=0; j<MAXN; ++j)
-
printf ("%c",ch[dish[i][j]]);
-
printf ("/n");
-
}
-
}
-
int main()
-
{
-
#ifdef ONLINE_JUDGE
-
#else
-
freopen("1051.txt","r",stdin);
-
#endif
-
int t;
-
while (scanf("%d",&t)!=EOF)
-
while (t--){
-
solve();
-
if (t) printf ("/n");
-
}
-
#ifdef ONLINE_JUDGE
-
#else
-
fclose(stdin);
-
#endif
-
return 0;
-
}
zoj1051 A New Growth Industry
最新推荐文章于 2017-01-18 14:41:50 发布