Wrong Answer.wrong answer On line 1 column 3, read ., expected +.
为什么呢????
#include<iostream>
#include<cstring>
using namespace std;
char ctrl[15][15]={"##+---+",
"#/ /|",
"+---+ |",
"| | +",
"| |/#",
"+---+##"
};
int k,l,m,n;
int a[55][55];
char c[1005][1005];
struct brick
{
int x,y;
} b[250005];
void draw(brick b);
int nmax,mmax;
int bcnt,xmove=0;
int main()
{
cin>>n>>m;//n和m互换
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
scanf("%d",a[i]+j);
memset(c,'.',sizeof(c));
//初始x=1,y=1
//排:i排,x+=2*i-2 , y+=(n-i)*2
//堆:j堆,y+=4*j
//层:k层,x-=(k-1)*3
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
for(int k=1;k<=a[i][j];k++)
{
b[++bcnt].x=1+2*i-2-(k-1)*3;
b[bcnt].y=1+(n-i)*2+4*j;
xmove=max(xmove,1-b[bcnt].x);
}
for(int i=1;i<=bcnt;i++)
{
b[i].x+=xmove;
draw(b[i]);
}
for(int i=1;i<=nmax;i++)
{
for(int j=1;j<=mmax;j++)
printf("%c",c[i][j]);
printf("\n");
}
return 0;
}
void draw(brick b)
{
nmax=max(nmax,b.x+5);
mmax=max(mmax,b.y+6);
for(int i=0;i<=5;i++)
for(int j=0;j<=6;j++)
if(ctrl[i][j]!='#')
c[b.x+i][b.y+j]=ctrl[i][j];
}
是画错地方了还是没画?