#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <cstring>
#include <stack>
#include <string>
#include <string.h>
#include <stdio.h>
#include <cmath>
#include <map>
#include <functional>
#include <set>
#include <limits.h>
#include <math.h>
#include <ctype.h>
using namespace std;
//1250
int n,mtr[12][12];
int odd,even;
int main()
{
//freopen("input.txt","r",stdin);
while(cin>>n && n)
{
odd=0,even=0;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>mtr[i][j];
if((i+j)&1==1) odd+=mtr[i][j];
else even+=mtr[i][j];
}
}
if(odd!=even)
{
puts("No");
continue;
}
bool flag=true;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
if(mtr[i][j]>mtr[i-1][j]+mtr[i+1][j]+mtr[i][j-1]+mtr[i][j+1])
flag=false;
break;
}
if(!flag) break;
}
if(!flag) puts("No");
else puts("Yes");
}
return 0;
}
/**************************************************************
Problem: 1250
User: cust123
Language: C++
Result: Accepted
Time:10 ms
Memory:1520 kb
****************************************************************/
题目1250:矩阵变换
最新推荐文章于 2021-12-26 22:20:55 发布