链接:https://www.nowcoder.com/acm/contest/85/F
来源:牛客网

题目描述

Etéreo 拿出家里的许多的立方体积木,堆成了一个三维空间中的模型。既然你高考选了技术, 那想必你一定想知道,这个模型的三视图是什么吧! 
图中, 轴、 轴和  轴的方向已经标明。现在规定,图中的红色面为主视面,蓝色面为右视面(注意输出中应为左视而非右视),黄色面为俯视面。具体方向可以观察样例。 

输入描述:

第一行四个数 ,表示该三维空间大小为 ,且有 个立方体。 接下去 行,每行三个整数 ,表示其位置坐标。

输出描述:

输出共 

行,前 

行每行 

个字符,输出正视图及左视图,两幅图之间有一列空格;接下去输出一个空行;再接下去 

行,每行 

个字符,表示俯视图。其中  表示空,  表示有立方体。

输入例子:
2 2 2 2
1 1 1
2 2 2
输出例子:
.x .x
x. x. x.
.x

-->

示例1

输入

复制

2 2 2 2
1 1 1
2 2 2

输出

复制

.x .x
x. x. x.
.x
示例2

输入

复制

3 3 3 3
1 1 2
2 1 1
1 2 1

输出

复制

... ...
x.. x..
xx. xx. xx.
x..
...

说明

这里可以把图片拉出去放大看哦~

备注:


 
思路分析:一开始傻乎乎的设了个唯一的三维数组,想着覆盖来解,发现很麻烦,跟随大神的脚步意识到直接建3个二维数组分别表示主视图,左视图,俯视图即可,在主视图里就不管z了,任何一个z下的x,y坐标存在都将这一点标记为有立方体,这样做就会非常简单了
然后可以注意下这个#define用法,比较方便
 #include <bits/stdc++.h>
using namespace std;
const int inf=<<;
typedef long long ll;
const double pi=acos(-);
#define mst(a,b) memset(a,b,sizeof(a))
char a[][],b[][],c[][];//分别用来保存主,左,俯视图,二维即可
int X,Y,Z,n,x,y,z;
int main(){
mst(a,'.');
mst(b,'.');
mst(c,'.');
cin>>X>>Y>>Z>>n;
while(n--){
cin>>x>>y>>z;
a[y][x]='x';
b[y][z]='x';
c[z][x]='x';
}
for(int i=Y;i>;i--,puts("")){
for(int j=;j<=X;j++) cout<<a[i][j];
cout<<" ";
for(int j=;j<=Z;j++) cout<<b[i][j];
}
puts("");
for(int i=;i<=Z;i++){
for(int j=;j<=X;j++) cout<<c[i][j];
cout<<endl;
}
return ;
}

牛客小白赛1 F题三视图的更多相关文章

  1. 牛客小白赛4 C题

    乘法逆元: 一个数a 乘上 b,在mod之后再还原成本来的数 a 这里就要用到乘法逆元,(a*b)%mod*inv(b,mod)==a ll exgcd(ll a,ll b,ll &x,ll ...

  2. 牛客网 牛客小白月赛1 F.三视图

    F.三视图   链接:https://www.nowcoder.com/acm/contest/85/F来源:牛客网     这个题自己想一下三维的,正视图和左视图中y轴为行数,x轴和z轴是列数,因为 ...

  3. 牛客小白月赛12 F 华华开始学信息学 (分块+树状数组)

    链接:https://ac.nowcoder.com/acm/contest/392/F来源:牛客网 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 32768K,其他语言65536K ...

  4. 牛客小白月赛6 F 发电 树状数组单点更新 求区间乘积 模板

    链接:https://www.nowcoder.com/acm/contest/136/F来源:牛客网  HA实验是一个生产.提炼“神力水晶”的秘密军事基地,神力水晶可以让机器的工作效率成倍提升.   ...

  5. 牛客小白月赛3 F 异或【区间交集】

    链接:https://www.nowcoder.com/acm/contest/87/F 来源:牛客网 题目描述 Cwbc想测试一下他的加密协议,以便防止其他人偷看他给XHRlyb的信. Cwbc提出 ...

  6. 牛客小白月赛6 水题 求n!在m进制下末尾0的个数 数论

    链接:https://www.nowcoder.com/acm/contest/135/C来源:牛客网 题目描述 其中,f(1)=1;f(2)=1;Z皇后的方案数:即在Z×Z的棋盘上放置Z个皇后,使其 ...

  7. 牛客小白赛5 无关(relationship) 容斥原理(计算因子数的模板)

    链接:https://www.nowcoder.com/acm/contest/135/A来源:牛客网 若一个集合A内所有的元素都不是正整数N的因数,则称N与集合A无关.   给出一个含有k个元素的集 ...

  8. 牛客小白月赛16 F 小石的妹子 (线段树)

    链接:https://ac.nowcoder.com/acm/contest/949/F来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言52428 ...

  9. 牛客小白赛4J——强迫症

    链接:https://www.nowcoder.com/acm/contest/134/J 来源:牛客网 思路:把数列排序,把每一个重复的元素和最后一个数想加得到新数,在删掉这一元素即为去重的最少步骤 ...

随机推荐

  1. LightOJ 1027 A Dangerous Maze(期望)题解

    题意:n扇门,每扇门后都有一个值x,如果x<0会让你等待-x再重新回到这里选择门,x>0你经过x时间就会被传送走,问你被传送走的期望 思路:假设被传送走的期望为E,那么对于x<0来说 ...

  2. Derek解读Bytom源码-启动与停止

    作者:Derek 简介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom ...

  3. Docker、Kubenets使用前配置

    1.开发人员需要确保机器上装有Docker并准确配置了Registry,能否推送相关镜像到Registry(运维人员无此要求) 2.能够访问Kubernetes APIServer相关API, 拥有相 ...

  4. tcpdump使用方法

    TcpDump可以将网络中传送的数据包完全截获下来提供分析.它支持针对网络层.协议.主机.网络或端口的过滤,并提供and.or.not等逻辑语句来帮助你去掉无用的信息. 工作中使用tcpdump命令抓 ...

  5. 3、Ansible playbooks(Hosts、Users、tasks、handlers、变量、条件测试(when、迭代)、templates)

    Ansible playbooks playbook是由一个或多个“play”组成的列表.play的主要功能在于将事先归并为一组的主机装扮成事先通过ansible中的task定义好的角色.从根本上来讲 ...

  6. dhcp、tftp及pxe简介

    DHCP: 全称:Dynamic Host Configuration Protocol  动态主机配置协议 DHCP配置内容: IP/Netmask Gateway DNS Server bootp ...

  7. 常用markdown语法入门

    入门markdown常用基本语法,简单到让你怀疑人生~~ 不说废话,直接上图(如果图片显示不清晰,建议选中图片右键——在新标签页中打开图片,妥妥的呢!!) (左侧黑色背景为markdown语法,右侧为 ...

  8. Scala语言学习

    Scala的程序被编译成Java字节码(生成class文件),所以可以运行在JVM上,并且可以调用Java的类库,兼容Java程序. Scala 是一门多范式(multi-paradigm)的编程语言 ...

  9. progressBar显示百分比

    this.lab_AllFiles.Text = progressBarAllFile.Value * 100 / progressBarAllFile.Maximum + "%" ...

  10. 提高R语言速度--转载

    1.     参考<R语言编程艺术>(Norman Matloff) chapter 14 & chapter 15 2.     方法 (1)向量化 与非向量化-循环做个对比: ...