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 ...
随机推荐
- java成神之——注释修饰符
注释修饰符 自定义注释 元注释 通过反射在runtime访问注释 内置注释 多注释实例 错误写法 使用容器改写 使用@Repeatable元注释 注释继承 使用反射获取注释 获取类的注释 获取方法的注 ...
- 数据分析工具pandas简介
什么是Pandas? Pandas的名称来自于面板数据(panel data)和Python数据分析(data analysis). Pandas是一个强大的分析结构化数据的工具集,基于NumPy构建 ...
- 关于解决DevExpress用DevExpress patch工具破解后经常弹出试用框的问题
方法有效自己试过很棒!!!!!!!! 第一:破解工具:DevExpressComponents-14.1.4和破解工具 第二:解决DevExpress用DevExpress patch工具破解后经常弹 ...
- python 模块 optparse
optparse,是一个能够让程式设计人员轻松设计出简单明了.易于使用.符合标准的Unix命令列程式的Python模块.生成使用和帮助信息. 下面是一个简单的示例: import optparse p ...
- Clean小程序(控件消息)
一 . 准备工作 创建一个基于对话框的MFC项目 删除对话框上的工具 二 . 实现将seven图片贴到上面,按一下则换一张图片 1.在资源视图中添加位图资源,通过属性修改图片ID 2.将对话框拉长,防 ...
- 3-1 Git下载与安装
https://desktop.github.com/
- 07-Location之正则匹配
大网站专门有自己的图片服务器,起码也得单独放一个目录里面. 淘宝网有些图片开启了防盗链(即使是小图片,也不让你下载,真小气).163新闻可以下载. 用正则匹配uri中的image,就是说你的uri中到 ...
- SpringAOP02 自定义注解
1 自定义注解 1.1 创建自定义注解 从java5开始就可以利用 @interface 来定义自定义注解 技巧01:注解不能直接干扰程序代码的运行(即:注解的增加和删除操作后,代码都可以正常运行) ...
- css常见问题解决方法
设置方法: div内的img和span都需要设置vertical-align:middle; 解决inline-block的空格: http://www.w3cplus.com/css/fightin ...
- C++ 重载操作符- 01 简单的入门
重载操作符的定义 这篇博客是对 重载操作符 的一个概要性的介绍. 重载操作符是C++语言的高级功能,当我们写一个类的时候,可以根据需要学一个重载操作符,如果 不需要,我们可以不写. 大量的操作符都可以 ...