luogu#B3809. [语言月赛 202307] Three-View Projection

    ID: 4825 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>2023O2优化循环结构数组语言月赛

[语言月赛 202307] Three-View Projection

题目描述

全文与 x,y,zx, y, z 轴/方向有关的内容均基于以下的 x,y,zx, y, z 轴、位置及观测方向。观测者站在如图所示的位置,正在向着 yy 轴(绿线)正方向(箭头方向)观测。

现在在地面上有一个长、宽(沿 x,yx, y 轴延展的长度)为 n cm,m cmn \text{ cm}, m \text{ cm} 的长方形区域。我们将这片区域划分为 n×mn \times m 个小格子。每个小格子中可以放置一个边长为 1 cm1 \text{ cm} 的小正方体。

我们使用一个整数二元组 (x,y)(x, y) 来表示一个格子在空间中的位置,其代表从左往右数第 xx 个,从前往后数第 yy 个格子。

例如,上图展示的 3×43 \times 4 区域中,按照观测者的位置,可以发现红蓝线(x,zx, z 轴)所在的面为前面,蓝绿线(y,zy, z 轴)所在的面为左面,红绿线(x,yx, y 轴)所在的面为下面。五个小正方体的位置分别为 (1,1),(1,3),(3,1),(3,3),(3,4)(1, 1), (1, 3), (3, 1), (3, 3), (3, 4)

三视图是观测者从上面(从上往下)、左面(从左往右)、正面(从前往后)三个不同角度观察同一个空间几何体而画出的图形。

例如,以上是示例区域的三视图。

现在,给定一个区域及其中的正方体排布情况,请你帮助计算出这个区域的三视图。

输入格式

输入共 n+1n + 1 行。

第一行为两个整数 n,mn, m,代表长方形区域的长、宽。
接下来 nn 行,每行 mm 个整数。其中第 xx 行第 yy 列的整数 ax,ya _ {x, y} 代表 (x,y)(x, y) 处格子的情况,若 ax,y=1a _ {x, y} = 1,代表该格子有小正方体;否则,代表该格子没有小正方体。

输出格式

输出共 2+m2 + m 行。

第一行为 nn 个整数,代表自左至右正视图的情况。如果正视图中某个位置有填充,则输出 11,否则输出 00。同一行整数之间两两以一个空格隔开。
第二行为 mm 个整数,代表自后至前左视图的情况。如果左视图中某个位置有填充,则输出 11,否则输出 00。同一行整数之间两两以一个空格隔开。
接下来 mm 行,每行 nn 个整数,代表自后至前自左至右俯视图的情况。如果俯视图中某个位置有填充,则输出 11,否则输出 00。同一行整数之间两两以一个空格隔开。

以上方向均基于观测者初始站立位置及方向。如果对输出的顺序有疑惑,请参照样例辅助理解。

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 即为题目中的示例。

数据规模与约定

对于 100%100\% 的数据,保证 1n,m2001 \leq n, m \leq 2000ax,y10 \leq a _ {x, y} \leq 1

测试点编号 nn mm ax,ya _ {x, y}
11 =1= 1 无特殊限制
242 \sim 4 10\leq 10
565 \sim 6 200\leq 200 =1= 1
77 200\leq 200 =1= 1
8108 \sim 10 无特殊限制