立体图

#include<iostream>
using namespace std;
int n,m;
char ans[500][500];
int f[60][60];
int cl,kl;
char mod[6][7]={'.','.','+','-','-','-','+',
'.','/','-','-','-','/','|',
'+','-','-','-','+',' ','|',
'|',' ',' ',' ','|',' ','+',
'|',' ',' ',' ','|','/','.',
'+','-','-','-','+','.','.'};

int main()
{
//freopen("kll.in","r",stdin);
//freopen("kll.out","w",stdout);
scanf("%d%d",&m,&n);
int maxn=0;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
scanf("%d",&f[i][j]),kl=max(kl,(m+1-i)*2+3*f[i][j]+1),maxn=max(maxn,f[i][j]);
cl=4*n+1+m*2;
for(int i=1;i<=kl;i++)
for(int j=1;j<=cl;j++)
ans[i][j]=' ';
for(int k=1;k<=maxn;k++)
{
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{
if(!f[i][j])continue;
int qx=kl-(2*(m-i+1)+1+3*k)+1;
int qy=2*(m-i)+1+4*(j-1);
for(int c=0;c<=5;c++)
for(int d=0;d<=6;d++)
if(mod[c][d]!='.')
ans[c+qx][d+qy]=mod[c][d];
f[i][j]--;
}
}
for(int i=1;i<=kl;i++)
{
for(int j=1;j<=cl;j++)
{
cout<<ans[i][j];
for(int l=1;l<=5000000;l++)
int temp=0;
}
cout<<endl;
}
return 0;
}
5 14
1 1 1 1 0 1 1 1 1 0 1 1 1 1
1 0 0 0 0 0 0 0 1 0 1 0 0 1
1 1 1 1 0 1 1 1 1 0 1 0 0 1
0 0 0 1 0 1 0 0 0 0 1 0 0 1
1 1 1 1 0 1 1 1 1 0 1 1 1 1

猜你喜欢

转载自www.cnblogs.com/kgxw0430/p/9062413.html