Codeforces Round #551 (Div. 2)B. Serval and Toy Bricks
1 second
256 megabytes
standard input
standard output
Luckily, Serval got onto the right bus, and he came to the kindergarten on time. After coming to kindergarten, he found the toy bricks very funny.
He has a special interest to create difficult problems for others to solve. This time, with many 1×1×11×1×1 toy bricks, he builds up a 3-dimensional object. We can describe this object with a n×mn×m matrix, such that in each cell (i,j), there are hi,jhi,j bricks standing on the top of each other.
However, Serval doesn't give you any hi,j and just give you the front view, left view, and the top view of this object, and he is now asking you to restore the object. Note that in the front view, there are mm columns, and in the ii -th of them, the height is the maximum of h1,i,h2,i,…,hn,ih1,i,h2,i,…,hn,i . It is similar for the left view, where there are nn columns. And in the top view, there is an n×mn×m matrix ti,jti,j , where ti,jti,j is 00 or 11 . If ti,jti,j equals 11 , that means hi,j>0hi,j>0 , otherwise, hi,j=0hi,j=0 .
However, Serval is very lonely because others are bored about his unsolvable problems before, and refused to solve this one, although this time he promises there will be at least one object satisfying all the views. As his best friend, can you have a try?
The first line contains three positive space-separated integers n,m,hn,m,h (1≤n,m,h≤1001≤n,m,h≤100 ) — the length, width and height.
The second line contains mm non-negative space-separated integers a1,a2,…,ama1,a2,…,am , where aiai is the height in the ii -th column from left to right of the front view (0≤ai≤h0≤ai≤h ).
The third line contains nn non-negative space-separated integers b1,b2,…,bnb1,b2,…,bn (0≤bj≤h0≤bj≤h ), where bjbj is the height in the jj -th column from left to right of the left view.
Each of the following nn lines contains mm numbers, each is 00 or 11 , representing the top view, where jj -th number of ii -th row is 11 if hi,j>0hi,j>0 , and 00 otherwise.
It is guaranteed that there is at least one structure satisfying the input.
Output nn lines, each of them contains mm integers, the jj -th number in the ii -th line should be equal to the height in the corresponding position of the top view. If there are several objects satisfying the views, output any one of them.
3 7 3
2 3 0 0 2 0 1
2 1 3
1 0 0 0 1 0 0
0 0 0 0 0 0 1
1 1 0 0 0 0 0
1 0 0 0 2 0 0
0 0 0 0 0 0 1
2 3 0 0 0 0 0
4 5 5
3 5 2 0 4
4 2 5 4
0 0 0 0 1
1 0 1 0 0
0 1 0 0 0
1 1 1 0 0
0 0 0 0 4
1 0 2 0 0
0 5 0 0 0
3 4 1 0 0





解题思路:这道题就是给你正视图,侧视图,俯视图,让你恢复它的原状;
实际上这个用多组解;用贪心即可,每次取最小;
代码如下:
#include<iostream>
using namespace std; int row , col , height ;
int c[];
int r[];
int G[][];
int main()
{
cin>>row>>col>>height;
for(int i = ; i < col ;i++)
{
cin>>c[i];
}
for(int i = ; i < row ;i++)
{
cin>>r[i];
} for(int i = ; i < row ;i++)
{
for(int j = ; j < col ;j++)
{
cin>>G[i][j];
if(G[i][j]==)
{
if(c[j]<=r[i]) //不断取行和列交接处的较小者
{
G[i][j] = c[j];
}else
G[i][j] = r[i];
}
}
} for(int i = ; i < row ;i++)
{
for(int j = ; j < col ;j++)
{
cout<<G[i][j];
(j==col-)?cout<<"":cout<<" ";//格式
}
cout<<endl;
}
return ;
}
Codeforces Round #551 (Div. 2)B. Serval and Toy Bricks的更多相关文章
- Codeforces Round #551 (Div. 2) D. Serval and Rooted Tree (树形dp)
题目:http://codeforces.com/contest/1153/problem/D 题意:给你一棵树,每个节点有一个操作,0代表取子节点中最小的那个值,1代表取子节点中最大的值,叶子节点的 ...
- Codeforces Round #551 (Div. 2)A. Serval and Bus
A. Serval and Bus time limit per test 1 second memory limit per test 256 megabytes input standard in ...
- Codeforces Round #551 (Div. 2) D. Serval and Rooted Tree (树形dp)
题目链接 题意:给你一个有根树,假设有k个叶子节点,你可以给每个叶子节点编个号,要求编号不重复且在1-k以内.然后根据节点的max,minmax,minmax,min信息更新节点的值,要求根节点的值最 ...
- Codeforces Round #551 (Div. 2) E. Serval and Snake (交互题)
人生第一次交互题ac! 其实比较水 容易发现如果查询的矩阵里面包含一个端点,得到的值是奇数:否则是偶数. 所以只要花2*n次查询每一行和每一列,找出其中查询答案为奇数的行和列,就表示这一行有一个端点. ...
- Codeforces Round #551 (Div. 2) F. Serval and Bonus Problem (DP/FFT)
yyb大佬的博客 这线段期望好神啊... 还有O(nlogn)FFTO(nlogn)FFTO(nlogn)FFT的做法 Freopen大佬的博客 本蒟蒻只会O(n2)O(n^2)O(n2) CODE ...
- 【Codeforces】Codeforces Round #551 (Div. 2)
Codeforces Round #551 (Div. 2) 算是放弃颓废决定好好打比赛好好刷题的开始吧 A. Serval and Bus 处理每个巴士最早到站且大于t的时间 #include &l ...
- Codeforces Round #551 (Div. 2)
传送门 B. Serval and Toy Bricks 题意: 有一些规格相同的方块摆放在 n×m 的矩阵 h 中,h[i][j]代表第 (i,j) 个矩阵摆放的方块的高度: 现给你三个视图: 正视 ...
- Codeforces Round #551 (Div. 2) A-E
A. Serval and Bus 算出每辆车会在什么时候上车, 取min即可 #include<cstdio> #include<algorithm> #include< ...
- Codeforces Round #551 (Div. 2) A~E题解
突然发现上一场没有写,那就补补吧 本来这场应该5题的,结果一念之差E fail了 A. Serval and Bus 基本数学不解释,假如你没有+1 -1真的不好意思见人了 #include<c ...
随机推荐
- web deploy 部署网站
一.服务端配置 1. 确保在服务器端(我目前是win server 2012 R2)安装管理服务 安装后服务器会重启, 2)安装webdeploy http://www.iis.net/downloa ...
- call()和apply()的认知
apply:方法能劫持另外一个对象的方法,继承另外一个对象的属性. Function.apply(obj,args)方法能接收两个参数 obj:这个对象将代替Function类里this对象 arg ...
- java - 读取,导出 excel文件数据
首先需下载poi java包,添加至构建路径, 写处理方法: import java.io.FileInputStream;import java.io.FileOutputStream;import ...
- 不需要SDK调用图灵机器人的方法
图灵机器人的调用其实就是你给服务器发一个文字消息过去,他回你一个,看起来模仿人类对话一样. 不知道为什么要弄个SDK这么麻烦的方法,以前的接口官网上已经没有了,但是还是可以用的.返回的是JSON但也懒 ...
- chart左侧
左侧单位 Chart1.Axes.Left.Minimum := ; Chart1.Axes.Left.Maximum := Series1.YValues.MaxValue * ; Chart1.A ...
- coprime Sequence
Do you know what is called ``Coprime Sequence''? That is a sequence consists of nn positive integers ...
- HttpRuntime自定义定时更新缓存
缓存更新类如下: /// <summary> /// 缓存更新类 /// </summary> /// <typeparam name="T"> ...
- 【bzoj2144】跳跳棋
2144: 跳跳棋 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 492 Solved: 244[Submit][Status][Discuss] ...
- 代码查看import的类是出自哪个jar包的方法(转)
import java.security.ProtectionDomain; import java.security.CodeSource; public static void main(Stri ...
- Java 基于quartz实现定时 之一(注解方式配置)
需要在项目里,导入quartz.jar package cn.zr.pringmvctest.trigger; import org.springframework.context.annotatio ...