读书人

acm!

发布时间: 2012-02-29 16:44:10 作者: rapoo

acm求救!!!
zoj 1051,测了n组数据都对,可老是wa,请高人指点,感激不尽!!!
[code=C/C++][/code]#include <stdio.h>
main()
{
int N,i,j,n,D[16],a[20][20],b[21][21],t,k,p;
scanf("%d",&N);
for(i=0;i<N;i++)
{
scanf("%d",&t);
for(j=0;j<16;j++)
scanf("%d",&D[j]);
for(j=0;j<20;j++)
{
for(k=0;k<20;k++)
scanf("%d",&a[j][k]);
}
for(n=0;n<t;n++)
{
for(j=0;j<20;j++)
{
for(k=0;k<20;k++)
{
p=a[j][k];
if(j-1>=0)
p+=a[j-1][k];
if(j+1<20)
p+=a[j+1][k];
if(k-1>=0)
p+=a[j][k-1];
if(k+1<20)
p+=a[j][k+1];
b[j][k]=a[j][k];
b[j][k]+=D[p];
if(b[j][k]>3)
b[j][k]=3;
if(b[j][k]<0)
b[j][k]=0;
}
}
for(j=0;j<20;j++)
{
for(k=0;k<20;k++)
{
a[j][k]=b[j][k];
}
}
}
for(j=0;j<20;j++)
{
for(k=0;k<20;k++)
{
if(a[j][k]==3)
printf("#");
else if(a[j][k]==2)
printf("X");
else if(a[j][k]==1)
printf("!");
else if(a[j][k]==0)
printf(".");
if(k!=19)
printf(" ");
}
printf("\n");
}
if(i!=N-1)
printf("\n");
}
}


[code=C/C++][/code]

[解决办法]
if(k!=19)
printf(" ");


去掉这两行,输出是没空格间隔的;
我去掉这两行后submit能ac

读书人网 >软件架构设计

热点推荐