题解 | #三视图#

三视图

https://www.nowcoder.com/practice/4f28339be67f422ca2fbe459704e8065

把每个小方块“照相”三次就行:正面看一次、左边看一次、上面看一次;某个位置只要被任何方块挡到,就记成 x。
最后按题目给的方向把三张“照片”打印出来(前两张并排,中间空一行,再打俯视图)就过了。

void solve(){
    int X,Y,Z,N;cin>>X>>Y>>Z>>N;
    vs a(Y,string(X,'.')),b(Y,string(Z,'.')),c(Z,string(X,'.'));
    for(int i=0;i<N;++i){
        int x,y,z;cin>>x>>y>>z;
        a[Y-y][x-1]='x';
        b[Y-y][z-1]='x';
        c[z-1][x-1]='x';
    }
    for(int i=0;i<Y;++i)cout<<a[i]<<" "<<b[i]<<endl;
    cout<<endl;
    for(int i=0;i<Z;++i)cout<<c[i]<<endl;
}
全部评论
题解清晰,看之犹如醍醐灌顶;且佬实力超群,偶像啊
2 回复 分享
发布于 03-16 21:09 广东
前面忘了,后面忘了,总之:太强了大佬,题解清晰,看之犹如醍醐灌顶;且佬实力超群,偶像啊
2 回复 分享
发布于 03-16 18:10 广东

相关推荐

评论
4
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务