#B3809. [语言月赛 202307] Three-View Projection
[语言月赛 202307] Three-View Projection
题目描述
全文与 轴/方向有关的内容均基于以下的 轴、位置及观测方向。观测者站在如图所示的位置,正在向着 轴(绿线)正方向(箭头方向)观测。
现在在地面上有一个长、宽(沿 轴延展的长度)为 的长方形区域。我们将这片区域划分为 个小格子。每个小格子中可以放置一个边长为 的小正方体。
我们使用一个整数二元组 来表示一个格子在空间中的位置,其代表从左往右数第 个,从前往后数第 个格子。
例如,上图展示的 区域中,按照观测者的位置,可以发现红蓝线( 轴)所在的面为前面,蓝绿线( 轴)所在的面为左面,红绿线( 轴)所在的面为下面。五个小正方体的位置分别为 。
三视图是观测者从上面(从上往下)、左面(从左往右)、正面(从前往后)三个不同角度观察同一个空间几何体而画出的图形。
例如,以上是示例区域的三视图。
现在,给定一个区域及其中的正方体排布情况,请你帮助计算出这个区域的三视图。
输入格式
输入共 行。
第一行为两个整数 ,代表长方形区域的长、宽。
接下来 行,每行 个整数。其中第 行第 列的整数 代表 处格子的情况,若 ,代表该格子有小正方体;否则,代表该格子没有小正方体。
输出格式
输出共 行。
第一行为 个整数,代表自左至右正视图的情况。如果正视图中某个位置有填充,则输出 ,否则输出 。同一行整数之间两两以一个空格隔开。
第二行为 个整数,代表自后至前左视图的情况。如果左视图中某个位置有填充,则输出 ,否则输出 。同一行整数之间两两以一个空格隔开。
接下来 行,每行 个整数,代表自后至前自左至右俯视图的情况。如果俯视图中某个位置有填充,则输出 ,否则输出 。同一行整数之间两两以一个空格隔开。
以上方向均基于观测者初始站立位置及方向。如果对输出的顺序有疑惑,请参照样例辅助理解。
3 4
1 0 1 0
0 0 0 0
1 0 1 1
1 0 1
1 1 0 1
0 0 1
1 0 1
0 0 0
1 0 1
10 7
0 1 0 0 0 0 0
0 0 0 0 1 0 0
0 0 0 0 0 0 0
0 0 0 0 0 0 0
1 0 0 0 0 0 0
0 0 0 0 0 1 0
0 0 1 0 1 0 0
0 1 1 0 0 0 0
1 0 0 0 0 0 0
0 0 0 0 0 0 0
1 1 0 0 1 1 1 1 1 0
0 1 1 0 1 1 1
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 1 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 1 1 0 0
1 0 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 1 0
提示
样例 1 解释
样例 1 即为题目中的示例。
数据规模与约定
对于 的数据,保证 ,。
测试点编号 | |||
---|---|---|---|
无特殊限制 | |||
无特殊限制 |