
#include
int main()
{int n;
while(scanf("%d",&n)!=EOF)
{ int a[10][10];
int i,j,s=0;
for(i=0;ifor(j=0;i"%d",&a[i][j]);}
for(i=0;is=s+a[i][0];
int f=0,t=0;
for(i=0;ifor(j=0;jt=t+a[i][j];
if(t==s)
f=1;
else
f=0;
break;}
t=0;
for(i=0;ifor(j=0;jt=t+a[j][i];
if(t==s)
f=1;
else
f=0;break;}
t=0;
for(i=0;it=t+a[i][i];
if(t==s)
f=1;
else
f=0;
t=0;
for(i=0,j=n-1;i=0;i++,j--)
t=t+a[i][j];
if(t==s)
f=1;
else
f=0;
if(f==1)
printf("YES\n");
if(f==0)
printf("NO\n");
}
return 0;
}
#include <stdio.h>
#include <string.h>
#include <string.h>
int main(void)
{
int a[10][10];
int n;
int i, j, iPrv, iCur, iFlag;
iPrv = 0;
iCur = 0;
iFlag = 0;
scanf("%d",&n);
for (i = 0; i < n;i++)
{
for (j = 0; j < n;j++)
{
scanf("%d",&a[i][j]);
}
}
for (i = 0; i < n;i++) //对角线之和
{
iPrv += a[i][i];
iCur += a[i][n-1 - i];
}
if(iCur != iPrv)
{
iFlag = 1;
}
for (i = 0; i < n;i++) //行之和
{
if(iFlag == 1)
{
break;
}
iCur = 0;
for (j = 0; j < n;j++)
{
iCur += a[i][j];
}
if(iCur != iPrv)
{
iFlag = 1;
}
}
for (j = 0; j < n;j++) //列之和
{
if(iFlag == 1)
{
break;
}
iCur = 0;
for (i = 0; i < n;i++)
{
iCur += a[i][j];
}
if(iCur != iPrv)
{
iFlag = 1;
}
}
if(iFlag == 0)
{
printf("YES");
}
else
{
printf("NO");
}
return 0;
}