# Three-View Projection## 题目描述 全文与 $x y z$ 轴方向有关的内容均基于以下的 $x y z$ 轴、位置及观测方向。观测者站在如图所示的位置正在向着 $y$ 周绿线正方向箭头方向观测。 !httpscdnluogucomcnuploadimage_hosting05erek0jpng现在在地面上有一个长、宽沿 $x y$ 轴延展的长度为 $n text cm
#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
vector<vector<int>> grid(n, vector<int>(m));
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> grid[i][j];
}
}
// 正视图
vector<int> front_view(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
if (grid[i][j] == 1) {
front_view[i] = 1;
break;
}
}
}
// 左视图
vector<int> left_view(m);
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
if (grid[i][j] == 1) {
left_view[j] = 1;
break;
}
}
}
// 俯视图
vector<vector<int>> top_view(m, vector<int>(n));
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
top_view[j][i] = grid[i][j];
}
}
// 输出结果
for (int i = 0; i < n; i++) {
cout << front_view[i] << " ";
}
cout << endl;
for (int j = 0; j < m; j++) {
cout << left_view[j] << " ";
}
cout << endl;
for (int j = 0; j < m; j++) {
for (int i = 0; i < n; i++) {
cout << top_view[j][i] << " ";
}
cout << endl;
}
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/h4ol 著作权归作者所有。请勿转载和采集!