Description
给定一个nn的矩阵(3<=n<=100,元素的值都是非负整数)。通过n-1次实施下述过程,可把这个矩阵转换成一个11的矩阵。每次的过程如下:
首先对矩阵进行归零:即对每一行(或一列)上的所有元素,都在其原来值的基础上减去该行(或列)上的最小值,保证相减后的值仍然是非负整数,且这一行(或列)上至少有一个元素的值为0。
然后对矩阵进行消减:即把nn矩阵的第二行和第二列删除(如果二维数组为a[][],则删除的是a[1][1]所在的行和列),使之转换为一个(n-1)(n-1)的矩阵。
下一次过程,对生成的(n-1)(n-1)矩阵实施上述过程。显然,经过n-1次上述过程, nn的矩阵会被转换为一个11的矩阵。
请求出每次消减前a[1][1]值之和。
Input
第一行是一个整数n。
其后是n个nn的矩阵。
每个矩阵占n行,每行有n个正整数,每个整数间用空格分隔。
Output
输出为n行,每行上的整数为对应矩阵归零消减过程中,每次消减前a[1][1]值之和。
Sample Input
3
1 2 3
2 3 4
3 4 5
1 2 3
5 4 2
9 4 5
1 2 3
5 4 2
9 5 4
Sample Output
0
2
1
#include <iostream>
#include<stdio.h>
#include <iomanip>
#include<math.h>
using namespace std;
int main() {
int n = 0, mat[100][100][100], min[100][100] = {
0 }, a_1[100] = {
0 }, constant;
cin >> n;
//输入矩阵
for (int i = 0; i < n; i++) {
//组
for (int j = 0; j < n; j++) {
//行
for