提交时间:2025-03-20 15:10:47

运行 ID: 7673

#include <iostream> using namespace std; int main() { int m,n; cin >> m; while(m--) { cin >> n; int a[n][n],b[n][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++) { cin >> b[i][j]; } } int flag = 1,flag_list[4] = {1,1,1,1}; for(int i = 0; i<n&&flag; i++) { for(int j = 0; j<n; j++) { if(a[i][j]!=b[i][j]) { flag_list[0] = 0; } if(a[i][j]!=b[j][n-1-i]) { flag_list[1] = 0; } if(a[i][j]!=b[n-1-i][n-1-j]) { flag_list[2] = 0; } if(a[i][j]!=b[n-1-j][i]) { flag_list[3] = 0; } int cnt=0; for(int k = 0; k<4; k++) { if(flag_list[k]==0) { cnt++; } } if(cnt==4) { flag = 0; } } } if(flag==0) { cout << "NO" << endl; } else { cout << "YES" << endl; } } return 0; }