博客
关于我
2019ICPC银川 B. So Easy(思维)
阅读量:225 次
发布时间:2019-03-01

本文共 688 字,大约阅读时间需要 2 分钟。

题意:

有一个n*m的矩阵,一开始为全0

一次操作中可以将一行或者一列全部+1
在若干次操作之后,矩阵的某一个格子缺失了
现在给你这个缺失了一个格子的矩阵,问缺失的位置上的数是多少

数据范围:n,m<=1e3

解法:

在这里插入图片描述

上图中:1+3=2+4。

因为1进行过的操作一部分2也进行过,一部分4也进行过。
2进行过的操作一部分1也进行过,一部分3也进行过。
同理,每个格子都和两边的格子有关系,可以退出1+3=2+4,
4个变量中有3个是已知的,减一下就得到剩下那个了。

注意特判一下-1格子在四个角的情况。

code:

#include
using namespace std;const int maxm=1e3+5;int g[maxm][maxm];int n;signed main(){ scanf("%d",&n); int x=1,y=1; for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ scanf("%d",&g[i][j]); if(g[i][j]==-1){ x=i,y=j; } } } //枚举四个角的情况 if(x==1&&y==1){ int a=g[x+1][y+1]; int b=g[x+1][y]+g[x][y+1]; cout<
<

转载地址:http://vgkv.baihongyu.com/

你可能感兴趣的文章
mysql的InnoDB引擎索引为什么使用B+Tree
查看>>
MySQL的InnoDB默认隔离级别为 Repeatable read(可重复读)为啥能解决幻读问题?
查看>>
MySQL的insert-on-duplicate语句详解
查看>>
mysql的logrotate脚本
查看>>
MySQL的my.cnf文件(解决5.7.18下没有my-default.cnf)
查看>>
MySQL的on duplicate key update 的使用
查看>>
MySQL的Replace用法详解
查看>>
mysql的root用户无法建库的问题
查看>>
mysql的sql_mode参数
查看>>
MySQL的sql_mode模式说明及设置
查看>>
mysql的sql执行计划详解
查看>>
mysql的sql语句基本练习
查看>>
Mysql的timestamp(时间戳)详解以及2038问题的解决方案
查看>>
mysql的util类怎么写_自己写的mysql类
查看>>
MySQL的xml中对大于,小于,等于的处理转换
查看>>
mysql的下载安装
查看>>
Mysql的两种存储引擎详细分析及区别(全)
查看>>
mysql的临时表简介
查看>>
MySQL的主从复制云栖社区_mysql 主从复制配置
查看>>
MySQL的事务隔离级别实战
查看>>