题目描述

输入一个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;
}