提交时间:2024-01-23 19:47:46

运行 ID: 125644

#include <bits/stdc++.h> using namespace std; char a[205][205], tar[205][205]; bool is1(int n) {//T for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { if(a[n - j + 1][i] != tar[i][j]) { return 0; } } } return 1; } bool is2(int n) { for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { if(a[n - i + 1][n - j + 1] != tar[i][j]) { return 0; } } } return 1; } bool is3(int n) { for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { if(a[j][n - i + 1] != tar[i][j]) { return 0; } } } return 1; } bool is4(int n) { for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { if(a[i][n - j + 1] != tar[i][j]) { return 0; } } } return 1; } bool is5(int n) { int b[n + 1][n + 1]; for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { b[i][j] = a[i][j]; } } for(int i = 1;i <= n;i++) { for(int j = 1;j <= n / 2;j++) { swap(a[i][j], a[i][n - j + 1]); } } if(is1(n)) { return 1; } else if(is2(n)) { return 1; } else if(is3(n)) { return 1; } else { for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { a[i][j] = b[i][j]; } } return 0; } } bool is6(int n) { for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { if(a[i][j] != tar[i][j]) { return 0; } } } return 1; } int main() { int n; cin >> n; getchar(); for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { a[i][j] = getchar(); } getchar(); } for(int i = 1;i <= n;i++) { for(int j = 1;j <= n;j++) { tar[i][j] = getchar(); } getchar(); } if(is1(n)) { cout << 1 << endl; return 0; } else if(is2(n)) { cout << 2 << endl; return 0; } else if(is3(n)) { cout << 3 << endl; return 0; } else if(is4(n)) { cout << 4 << endl; return 0; } else if(is5(n)) { cout << 5 << endl; return 0; } else if(is6(n)) { cout << 6 << endl; return 0; } else { cout << 7 << endl; return 0; } return 0; }