AcWing 3605. 对称矩阵
原题链接
简单
#include<bits/stdc++.h>
using namespace std;
const int N=100;
int a[N][N];
int main(){
int n; //n阶
/*
while(cin>>n){
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
}
}
bool flag=true;
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){
if(a[i][j]!=a[j][i]){
flag=false;
}
}
}
string res = flag?"Yes!" : "No!";
cout<<res<<endl;
}
*/
//【优化】————在输入元素时,同时检查是否为对称元素
while(cin>>n){
bool flag =true;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
cin>>a[i][j];
//检查是否元素对称——>仅需检查【下三角】
if(i>j){ //下三角
if(a[i][j]!=a[j][i]){
flag=false;
}
}
}
}
cout<<(flag? "Yes!":"No!")<<endl; //不要忘记加()
}
return 0;
}