2020icpc上海 Mine Sweeper II (思维)
题目链接:B-Mine Sweeper II_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海) (nowcoder.com)a
题目大意:给你两个大小为 n * m 的扫雷图 A, B,扫雷中格子上可能有雷也可能有数字,数字代表这个格子周围有多少个雷,现在我们可以将扫雷图B上的一些格子进行操作(可以把雷去掉,也可以在一些没有雷的位置上加上雷),要求改的次数不能超过n*m / 2,改完后B图中没有雷的格子上的数字和与A图中没有雷的数字和相同,输出操作后B图的排列。
分析:先说一个性质:如果我们把原图中有雷的位置改成无雷,把无雷的位置改成有雷,这样操作之后格子上数字的和是不变的。
那我们就可以想到,要么把B图直接改成A图,要么就把B图改成A图的取反图,我们可以记录一下把B图改成A图所要花费的最小次数,如果花费的最小次数超过n*m / 2,我们就可以直接把B图改成A图的取反图,所需操作次数一定是小于等于n*m / 2的,因为假如B图与A图有x个位置不相同,由于每个格子只有两种状态,一种是有雷,一种是无雷,所以B图与A图的取反图就有n*m-x个位置不相同,因为x>n*m / 2,则n*m-x<n*m/2,而若花费的最小次数小于等于n*m / 2,我们就可以直接将B图改为A图。
下面是代码:
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<iostream>
#include<queue>
using namespace std;
const int N=1e3+10;
char a[N][N],b[N][N];
int main()
{int n,m;cin>>n>>m;for(int i=1;i<=n;i++)scanf("%s",a[i]+1);for(int i=1;i<=n;i++)scanf("%s",b[i]+1);int cnt=0;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)if(a[i][j]!=b[i][j]) cnt++;if(cnt<=n*m/2){for(int i=1;i<=n;i++)puts(a[i]+1);}else{for(int i=1;i<=n;i++){for(int j=1;j<=m;j++)if(a[i][j]=='X') printf(".");else printf("X");printf("\n");}}return 0;
}
2020icpc上海 Mine Sweeper II (思维)相关推荐
- (ICPC)亚洲区域赛(上海)Mine Sweeper II(思维)
LINK 设一个空格子周围有xxx颗雷,那么这个格子的数字是xxx 此时如果把周围的xxx颗雷变成空格子,原来的空格子变成雷 那么中间的雷(原来的空格子)会给周围的xxx个空格子(原来的雷),每个贡献 ...
- 构造 - Mine Sweeper II - ICPC 2020 上海
构造 - Mine Sweeper II - ICPC 2020 上海 题意: 给 定 两 个 n × m 的 由 ′ X ′ 和 ′ . ′ 矩 阵 A 和 B , 表 示 两 个 扫 雷 的 矩 ...
- 上海ICPC Mine Sweeper II
上海ICPC Mine Sweeper II 题意:给定扫雷图 A A A和 B B B,它们的大小为 n × m n\times m n×m,设 A A A中所有空白格的贡献为 s u m sum ...
- Mine Sweeper II
Mine Sweeper II 题意: 给你两个大小为 n * m 的扫雷图 A, B,要求通过最多 n * m/2 次转换(转换指 把一个不是雷的格子变成雷, 或者把一个是雷的格子变成空白格),使得 ...
- 2020 icpc上海站 Mine Sweeper II
Mine Sweeper II 题意 给你两个用"."和X组成的矩阵,X表示地雷,每个"."周围八个格子有几个雷贡献就是多少,改变第二个字符矩阵,使最后两个矩阵 ...
- gym 102900 Mine Sweeper II
gym 102900 Mine Sweeper II 题目链接 题意 给定两个 n × m n\times m n×m的扫雷地图 A , B A,B A,B,所有非地雷格子都有一个数字,表示这个格子周 ...
- 2020ICPC上海 B Mine Sweeper II(思维)
链接 题目描述 A mine-sweeper map X {X} X can be expressed as an n × m n\times m n×m grid. Each cell of the ...
- 2020ICPC上海 B.Mine Sweeper II(思维,乱搞)
题意: 扫雷,给你A,B图.权值为所有非雷点的和,要求你修改B图中不超过(n*m/2)个点,使得A,B图权值相等. 思路: 感觉过的太多了,肯定不难.模拟发现,每个点变化值1,2,3,4-都有,所以大 ...
- 第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)B Mine Sweeper II
题目 A mine-sweeper map {X}X can be expressed as an n\times mn×m grid. Each cell of the grid is either ...
最新文章
- java正立三角形_JAVA 打印三角形
- 为什么租号玩显示服务器忙,租号玩上号器怎么用,租号玩上号器使用教程
- JavaScript的标签
- mysql putty 备份_Linux下mysql数据库的备份-putty
- 2-计算机发展及应用
- rz和sz上传下载文件
- Python登录界面
- UWP 手绘视频创作工具技术分享系列 - 位图的绘制
- 【摘转留用】35前要考虑的
- Bootstrap3 过渡插件
- EOS技术研究:合约与数据库交互
- Lomboz插件的介绍 下载 安装 问题
- EXCEL制作柱形图逆序的意义
- matlab中sumf,使用SUMIF函数根据日期区间统计的方法
- 如何用手机访问电脑本地localhost网页, 以调试项目
- android华为隐藏底部虚拟按键,沉浸式状态栏/华为虚拟按键隐藏
- 骨传导耳机对耳朵好不好、不伤耳的骨传导耳机推荐
- ai描边工具怎么打开_AI的工具栏怎么用快捷键打开?
- 轻触开源(二)-Gson项目源码解析_壹
- 做销售,如何开发陌生市场?
热门文章
- [数据集][目标检测]塔吊数据集VOC格式2559张
- 深度学习开发任务实例(无人小车)
- Oracle安装过程物理内存检查及临时temp空间不足解决办法
- 直接从数据库里修改桌面图标
- 控制A4VSO和A4VSG系列带倾角传感器的电比例变量柱塞泵控制放大器
- 在mathtype中添加任意维数矩阵的方法以及矩阵中省略号的问题
- css使用三个属性设置文本结尾省略号显示
- python四瓣花图形_大家用Python-turtle库作图画出过哪些漂亮的树哇 ?
- 3dmax fbx导入unreal engine注意事项 法线处理导入ue
- 趣图 | 袜子破了容易出 Bug? 我也是没想到啊