Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
124729 | 罗恩祥 | 方块转换 | C++ | 通过 | 100 | 0 MS | 248 KB | 3399 | 2024-01-23 15:32:34 |
#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 += j[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] != ol3[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; } // }