将矩阵的行列互换得到的新矩阵称为转置矩阵。
把m×n矩阵
A=⎣⎡a11a21⋅⋅⋅am1a12a22⋅⋅⋅am2⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅a1na2n⋅⋅⋅amn⎦⎤
的行列互换之后得到的矩阵,称为 A 的转置矩阵,记作 AT ,
即
AT=⎣⎡a11a12⋅⋅⋅a1na21a22⋅⋅⋅a2n⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅am1am2⋅⋅⋅amn⎦⎤
由定义可知, A 为m×n 矩阵,则 AT 为 n×m 矩阵。例如,
A=[1−20123]
,
AT=⎣⎡102−213⎦⎤.
n×n矩阵称之为 n阶方阵,
如果 n 阶方阵和它的转置相等,即 AT=A ,则称矩阵 A 为对称矩阵。
输入格式:
在第一行内给出n值(1<n<100)。
从第二行以后给出n阶矩阵所有行的元素值。
输出格式:
当输入的n阶矩阵是对称矩阵,输出“Yes”,否则输出“No”。
输入样例:
3
1 0 2
-2 1 3
4 3 2
输出样例:
No
输入样例:
3
1 -2 4
-2 1 3
4 3 2
输出样例:
Yes
#include<bits/stdc++.h>
using namespace std;
int main(){
int a[108][108],n,flag=1;
cin>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(a[i][j]!=a[j][i])flag=0;
}
}
if(flag)cout<<"Yes";
else cout<<"No";
return 0;
}