您的位置:首页 > 其它

zoj1051 A New Growth Industry

2006-07-10 20:03 363 查看
//zoj1051 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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: