本文共 693 字,大约阅读时间需要 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格子在四个角的情况。
#includeusing 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/