Board
发布日期:2021-07-01 00:14:26
浏览次数:2
分类:技术文章
本文共 1026 字,大约阅读时间需要 3 分钟。
链接:
来源:牛客网时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 1048576K,其他语言2097152K 64bit IO Format: %lld题目描述
恬恬有一个nx n的数组。她在用这个数组玩游戏:
开始时,数组中每一个元素都是0。 恬恬会做某些操作。在一次操作中,她可以将某一行的所有元素同时加上一个值,也可以将某一列的所有元素同时加上一个值。 在几次操作后,一个元素被隐藏了。你能帮助她回忆隐藏的数是几吗?输入描述
第一行一个整数n(1≤ n≤ 1000)。
接下来n行每行n个整数表示数组a。 第(i+1)行的第j个元素表示aij(aij=-1或0≤ aij ≤ 10000)。-1表示隐藏的元素。输出描述
仅一个整数表示答案。
输入
3
1 2 1 0 -1 0 0 1 0
输出
1
解题思路
如图,AB,CD在同一行,AC,BD在同一列。
假如AB这一行加x,CD这一行加y,AC这一列加p,BD这一列加q。
那么A加了x+p,B加了x+q,c加了y+p,d加了y+q。
很容易发现AB之差等于CD之差。
所以我们现在已经知道了其中的三个,求另外一个也是很简单的事情。
#includeint n, m, x, y, map[1010][1010];int main(){ scanf("%d", &n); for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { scanf("%d", &map[i][j]); if (map[i][j] < 0) x = i, y = j; } } if (!x && !y) m = map[x + 1][y] - map[x + 1][y + 1] + map[x][y + 1]; else if (!x && y) m = map[x + 1][y] - map[x + 1][y - 1] + map[x][y - 1]; else if (x && !y) m = map[x - 1][y] - map[x - 1][y + 1] + map[x][y + 1]; else m = map[x - 1][y] - map[x - 1][y - 1] + map[x][y - 1]; printf("%d\n", m); return 0;}
转载地址:https://lzyws739307453.blog.csdn.net/article/details/82950394 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月10日 10时00分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
ipvsadm 安装配置
2019-05-02
linux下nc的使用
2019-05-02
sed学习---字符替换
2019-05-02
Linux shell脚本的字符串截取
2019-05-02
linux和windows下mysql密码怎样清空!
2019-05-02
mysql logs-slave-updates (A -> B -> C)
2019-05-02
关于Java中split方法对空字符串处理问题
2019-05-02
mysql JDBC URL参数解析
2019-05-02
数据库复习(4)
2019-05-02
C# TextBox输入密码显示星号(*)
2019-05-02
C#如何将文件资源添加到resource下
2019-05-02
1小时点击量破千万!阿里巴巴首发:MySQL高级调优笔记!全是技术重点
2019-05-02
这个GItHub上的Java项目开源了 2021最全的Java架构面试复习指南
2019-05-02
如何在系统中查找内存泄漏(memory leak)程序?
2019-05-02
ibm BladeCenter hs20与nortel 2/3 layer switch
2019-05-02
BC-H机箱中10个I/O插槽的配置规则
2019-05-02
Redhat Linux网卡配置与绑定
2019-05-02
LINUX网卡绑定聚合设置
2019-05-02