首页 > 代码库 > 有个学霸找我这个脑残要这道题的无脑代码——立体图

有个学霸找我这个脑残要这道题的无脑代码——立体图

#include<iostream>#include<cstring>#include<cstdio>using namespace std;int v[52][52];char s[2001][2001];int n,m,x,y;void wri(int a,int b){    s[a][b]=+;    s[a+1][b]=-;    s[a+2][b]=-;    s[a+3][b]=-;    s[a+4][b]=+;    s[a][b-1]=|;    s[a+1][b-1]= ;    s[a+2][b-1]= ;    s[a+3][b-1]= ;    s[a+4][b-1]=|;    s[a+5][b-1]=/;    s[a][b-2]=|;    s[a+1][b-2]= ;    s[a+2][b-2]= ;    s[a+3][b-2]= ;    s[a+4][b-2]=|;    s[a+5][b-2]= ;    s[a+6][b-2]=+;    s[a][b-3]=+;    s[a+1][b-3]=-;    s[a+2][b-3]=-;    s[a+3][b-3]=-;    s[a+4][b-3]=+;    s[a+5][b-3]= ;    s[a+6][b-3]=|;    s[a+1][b-4]=/;    s[a+2][b-4]= ;    s[a+3][b-4]= ;    s[a+4][b-4]= ;    s[a+5][b-4]=/;    s[a+6][b-4]=|;    s[a+2][b-5]=+;    s[a+3][b-5]=-;    s[a+4][b-5]=-;    s[a+5][b-5]=-;    s[a+6][b-5]=+;};int main(){    cin>>m>>n;    for (int i=1;i<=2000;i++)        for (int j=1;j<=2000;j++)            s[i][j]=.;    for (int i=1;i<=m;i++)        for (int j=1;j<=n;j++)            cin>>v[i][j];    for (int i=1;i<=m;i++)        for (int j=1;j<=n;j++)        {            x=1+2*(m-i)+4*j-4;            y=2000-2*(m-i);            for (int k=1;k<=v[i][j];k++)            {                wri(x,y-3*(k-1));            };        };    bool z;    z=false;    for (int i=1;i<=2000;i++)    {        for (int j=1;j<=2000;j++)            if (s[j][i]!=.)            {                z=true;                y=i;                break;            };        if (z==true) break;    };    z=false;    for (int j=2000;j>=1;j--)    {        for (int i=2000;i>=1;i--)            if (s[j][i]!=.)            {                z=true;                x=j;                break;            };        if (z==true) break;    };    for (int i=y;i<=2000;i++)    {        for (int j=1;j<=x;j++)            cout<<s[j][i];        cout<<endl;    };    return 0;};