• P1058 立体图


    链接:Miku

    ------------------------------

    蒟蒻在线%lmk,ljx,lpy,yyq大佬们

    ------------------------------

    Good Night Good luck

    ---------------------------

    这是一道巨大的模拟题,我的做法是创建一块大画布,然后从后往前覆盖即可,具体实现,离不开代码

    -----------------------------

    #include<iostream>
    #include<cstdio>
    using namespace std;
    int m,n;
    char sin[10][10]={
    "  +---+",
    " /   /|",
    "+---+ |",
    "|   | +",
    "|   |/",
    "+---+",
    };
    char ma[1005][1005];
    int maxx;
    int maxy;
    int l[6]={2,1,0,0,0,0};
    int r[6]={6,6,6,6,5,4};
    int mapp[1001][1001];
    void draw(int x,int y){
        for(int i=5;i>=0;--i){//倒序 
            for(int j=l[i];j<=r[i];j++){//题目有要求,为了避免和正方体内部
            // 空格搞混,就采用这种方法
            //就是解决左上角那一块 
                ma[5-i+x][j+y]=sin[i][j];//倒着的哦 
                maxx=max(maxx,x+5-i);//算最大值?边画边记 
                maxy=max(maxy,j+y);
            }
        }
    }
     int main(){
         scanf("%d%d",&n,&m);
         for(int i=1;i<=n;++i){
             for(int j=0;j<m;++j){//由于左下角是0,0,所以从0开始 
                 scanf("%d",&mapp[i][j]);
             }
         }
         for(int i=1;i<=n;++i){//
             for(int j=0;j<m;++j){//
                 for(int k=0;k<mapp[i][j];k++){//高度 
                     draw((n-i)*2+1+3*k,(n-i)*2+1+4*j);
                     //这里的n-i就相当找到了这一行最左边那一个的左下角
                     //坐标
                     //然后根据它的从左到右第几个以及高度修正 
                 }
             }
         }
        for(int i=maxx;i>=1;i--){//倒叙输出 
            for(int j=1;j<=maxy;j++){//从左到右倒是不用 
                if(ma[i][j]=='') cout<<".";//只有没画过的才是".” 
                else{
                    cout<<ma[i][j];//输出就好 
                }
            }
            cout<<endl;
        }
        return 0;
     }
    Ac
  • 相关阅读:
    ntp时钟同步
    io,进程监控
    Linux下修改主机名
    DataGuard主库增加联机日志
    external table
    linux卸载HBA卡驱动
    Oracle DataGuard延迟应用归档归档日志
    index unusable
    VBOX 克隆虚拟机
    device eth0 has different MAC address than expected,igoring
  • 原文地址:https://www.cnblogs.com/For-Miku/p/12310104.html
Copyright © 2020-2023  润新知