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

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

为了解决这个问题,我们需要确定一个n*m矩阵中缺失的格子的值。矩阵初始时所有格子都是0,每次操作可以选择一行或一列,将该行或列的所有格子加1。经过若干次操作后,矩阵中的某一个格子缺失了,我们需要找出这个缺失格子的值。

方法思路

我们可以利用矩阵中的其他格子的值来推断出缺失格子的值。假设每一行进行了a_i次操作,每一列进行了b_j次操作,那么矩阵中的每个格子(i,j)的值为a_i + b_j。缺失的格子位于(x, y),则其值应为a_x + b_y。

为了计算缺失格子的值,我们可以利用矩阵的边缘格子。例如,如果缺失格子位于第一行第一列,我们可以利用其他三个角的格子来建立方程,解出a_i和b_j的值。

解决代码

#include 
using namespace std;const int maxm = 1e3 + 5;int g[maxm][maxm];int n, m;signed main() { scanf("%d %d", &n, &m); int x = 0, y = 0; for (int i = 0; i < n; ++i) { for (int j = 0; j < m; ++j) { scanf("%d", &g[i][j]); if (g[i][j] == -1) { x = i; y = j; } } } // 特殊情况处理 if (x == 0 && y == 0) { // 格子在左上角 int a = g[x+1][y+1]; int b = g[x+1][y] + g[x][y+1]; cout << (b - a); } else if (x == 0 && y == m-1) { // 格子在右上角 int a = g[x+1][y-1] + g[x+1][y]; int b = g[x][y-1]; cout << (a - b); } else if (x == n-1 && y == 0) { // 格子在左下角 int a = g[x-1][y] + g[x-1][y+1]; int b = g[x][y+1]; cout << (a - b); } else if (x == n-1 && y == m-1) { // 格子在右下角 int a = g[x-1][y-1] + g[x-1][y]; int b = g[x-1][y-1] + g[x][y-1]; cout << (a - b); } else { // 通用情况 int a = g[x][y+1] - g[x][y]; int b = g[x+1][y] - g[x][y]; cout << (a + b); } return 0;}

代码解释

  • 读取输入:读取矩阵的行数n和列数m,并初始化矩阵g。
  • 查找缺失格子:遍历矩阵,找出缺失格子的位置(x, y)。
  • 处理特定情况:根据缺失格子的位置,分别处理四个角落的情况,计算缺失格子的值。
  • 通用情况处理:对于其他位置,利用相邻格子的值计算缺失格子的值。
  • 该方法通过建立方程组,利用已知的其他格子值来推断出缺失格子的值,确保了计算的准确性和效率。

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

    你可能感兴趣的文章
    PyCharm安装及使用说明
    查看>>
    pycharm导入自己写的模块时,模块下方出现红色波浪线的解决方案
    查看>>
    Pycharm常用快捷键大全
    查看>>
    PyCharm快捷键
    查看>>
    Pycharm快捷键记录
    查看>>
    pycharm怎么支持WPS?
    查看>>
    pycharm打印不全问题
    查看>>
    pycharm提示This inspection detects instance attribute definition outside __init__ method
    查看>>
    pycharm搭建spark环境
    查看>>
    pycharm无法导入本地模块问题
    查看>>
    PyTorch — 初学者教程
    查看>>
    PyCharm更换pip源为国内源、模块安装、PyCharm依赖包导入导出教程
    查看>>
    Pycharm没有找到manage repositories按钮解决方案
    查看>>
    PyCharm点击设置没反应,无法进行设置
    查看>>
    pycharm的安装配置和简单使用
    查看>>
    pycharm的环境管理-ChatGPT4o作答
    查看>>
    pycharm社区版不能使用conda
    查看>>
    Pycharm终端中conda无法切换到虚拟环境的解决方法(两种方案)
    查看>>
    pycharm连接sqlite
    查看>>
    Pycharm那些隐藏的实用小技巧,yyds!
    查看>>