noiopenjudge07:矩阵归零消减序列和 模拟

来源:互联网 发布:日式rpg 知乎 编辑:程序博客网 时间:2024/05/21 15:07

noiopenjudge07:矩阵归零消减序列和

sx模拟

#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (120)int maps[MAXN][MAXN];int hang[MAXN], lie[MAXN];int main(){    int n;    cin >> n;    for(int i = 1; i <= n; ++ i)        for(int j = 1; j <= n; ++ j)            scanf("%d", &maps[i][j]);    #define INF (1e9)    printf("%d\n", maps[2][2]);    while(n > 1)    {        fill(hang+1, hang+n+1, 1e9);        fill(lie+1, lie+n+1, 1e9);        for(int i = 1; i <= n; ++ i)            for(int j = 1; j <= n; ++ j)                hang[i] = min(hang[i], maps[i][j]);        for(int i = 1; i <= n; ++ i)            for(int j = 1; j <= n; ++ j)                maps[i][j] -= hang[i];        for(int i = 1; i <= n; ++ i)            for(int j = 1; j <= n; ++ j)                lie[j] = min(lie[j], maps[i][j]);        for(int i = 1; i <= n; ++ i)            for(int j = 1; j <= n; ++ j)                maps[i][j] -= lie[j];        for(int i = 3; i <= n; ++ i)            for(int j = 1; j <= n; ++ j)                maps[i-1][j] = maps[i][j];        for(int i = 1; i <= n; ++ i)            for(int j = 3; j <= n; ++ j)                maps[i][j-1] = maps[i][j];        printf("%d\n", maps[2][2]);        -- n;    }    return 0;}
0 0
原创粉丝点击