题目描述
输入一个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!
Code
#include<iostream>
using namespace std;
int a[101][101];
bool judge(int a[][101],int n)
{
bool flag = true;
for (int i = 0; i < n; i++)
{
for (int j = i + 1; j < n; j++)
{
if (a[i][j] != a[j][i])
{
flag = false;
break;
}
}
}
return flag;
}
int main()
{
int n;
while (cin >> n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cin >> a[i][j];
}
}
if (judge(a, n))
cout << "Yes!" << endl;
else
cout << "No!" << endl;
}
return 0;
}