题意:给出一个n*n的矩阵,若这个矩阵任意n个不同行不同列的数之和相同,则输出homogeneous,否则输出not homogeneous
推出来只要满足任意二阶子矩阵的是奇异矩阵就行了
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
int map[1010][1010];
int main()
{
int n;
while(scanf("%d",&n),n!=0)
{
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
scanf("%d",&map[i][j]);
bool ok=1;
for(int i=1;i<n;i++)
{
for(int j=1;j<n;j++)
{
if(map[i][j]+map[i+1][j+1]!=map[i][j+1]+map[i+1][j])
ok=0;
if(!ok)break;
}
if(!ok)break;
}
if(ok)printf("homogeneous\n");
else printf("not homogeneous\n");
}
return 0;
}