提交时间:2024-01-23 15:19:41
运行 ID: 124640
#include <bits/stdc++.h> using namespace std; string lst[11]; string lst2[11]; int num; bool judge1() { string ol[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += lst[num - k - 1][i]; // } ol[i] = str; } bool F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol[i]) F = 0; } return F; } bool judge2() { string ol[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += lst[num - k - 1][i]; // } ol[i] = str; } string ol2[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += ol[num - k - 1][i]; // } ol2[i] = str; } bool F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol2[i]) F = 0; } return F; } bool judge3() { string ol[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += lst[num - k - 1][i]; // } ol[i] = str; } string ol2[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += ol[num - k - 1][i]; // } ol2[i] = str; } string ol3[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = 0;k < num;k++) //0 1 2 { str += ol2[num - k - 1][i]; // } ol3[i] = str; } bool F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol3[i]) F = 0; } return F; } bool judge4() { string ol[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = num - 1;k >= 0;k--) //0 1 2 { str += lst[i][k]; // } ol[i] = str; } bool F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol[i]) F = 0; } return F; } bool judge5() { string j[11]; for(int i = 0;i < num;i++) //0 1 2 { string str = ""; for(int k = num - 1;k >= 0;k--) //0 1 2 { str += lst[i][k]; // } j[i] = str; } string ol[11]; for(int i = 0;i < num;i++) { string str = ""; for(int k = 0;k < num;k++) { str += lst[num - k - 1][i]; } ol[i] = str; } bool F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol[i]) F = 0; } if(F == 1) return 1; string ol2[11]; for(int i = 0;i < num;i++) { string str = ""; for(int k = 0;k < num;k++) { str += ol[num - k - 1][i]; } ol2[i] = str; } F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol2[i]) F = 0; } if(F == 1) return 1; string ol3[11]; for(int i = 0;i < num;i++) { string str = ""; for(int k = 0;k < num;k++) { str += ol2[num - k - 1][i]; } ol3[i] = str; } F = 1; for(int i = 0;i < num;i++) { if(lst2[i] != ol[i]) F = 0; } return F; } int main() { cin >> num; for(int i = 0;i < num;i++) cin >> lst[i]; for(int i = 0;i < num;i++) cin >> lst2[i]; //右转90 if(judge1()) cout << 1; return 0; if(judge2()) cout << 2; return 0; if(judge3()) cout << 3; return 0; if(judge4()) cout << 4; return 0; if(judge5()) cout << 5; return 0; //不改变 bool six = 1; for(int i = 0;i < num;i++) { if(lst[i] != lst2[i]) { six = 0; break; } } if(six) { cout << 6; return 0; } else { cout <<7; } // }