对于输入的n,m,k
接下来,一行正视图,一行侧视图,另外的是顶视图(n行,m列)
正视图:每一列的最大值
左视图:每一行的最大值
顶视图:只能表示出该点有没有方块
思路:遍历顶视图。如果某点有方块,那么输出在正视图和左视图中的最小值。
所以就得到如下代码
#include<bits/stdc++.h>
#define rep(a,b,c) for(int a=b;a<=c;a++)
using namespace std;
int main()
{
int n,m,h;
scanf("%d%d%d",&n,&m,&h);
int zheng[m],zuo[n],ding[n][m];
rep(i,0,m-1) scanf("%d",&zheng[i]);
rep(i,0,n-1) scanf("%d",&zuo[i]);
rep(i,0,n-1)
{
rep(j,0,m-1)
scanf("%d",&ding[i][j]);
}
rep(i,0,n-1)
{
rep(j,0,m-1)
{
if(ding[i][j]==1)
{
cout<<min(zheng[j],zuo[i])<<" ";
}
else cout<<ding[i][j]<<" ";
}
cout<<endl;
}
return 0;
}