题目描述
输入一个N维矩阵,判断是否对称。
输入描述:
输入第一行包括一个数:N(1<=N<=100),表示矩阵的维数。 接下来的N行,每行包括N个数,表示N*N矩阵的元素。
输出描述:
可能有多组测试数据,对于每组数据, 输出"Yes!”表示矩阵为对称矩阵。 输出"No!”表示矩阵不是对称矩阵。
输入例子:
4 16 19 16 6 19 16 14 5 16 14 16 3 6 5 3 16 2 1 2 3 4
输出例子:
Yes! No!
AC code:
#include<iostream>
#include<algorithm>
#include<stdio.h>
#include<map>
#include<math.h>
#include<string.h>
#include<queue>
#include<vector>
#include<set>
#define LL long long
#define exp 1e-9
#define MAXN 1000010
using namespace std;
int a[101][101];
int main()
{
// freopen("D:\\in.txt","r",stdin);
int N,i,j,fg;
while(scanf("%d",&N)!=EOF)
{
for(i=1;i<=N;i++)
{
for(j=1;j<=N;j++)
{
scanf("%d",&a[i][j]);
}
}
fg=1;
for(i=1;i<=N;i++)
{
for(j=1;j<=i;j++)
{
if(a[i][j]!=a[j][i])
{
fg=0;
break;
}
}
if(fg==0)
break;
}
if(fg==1)
{
printf("Yes!\n");
}
else
{
printf("No!\n");
}
}
return 0;
}