usingnamespacestd; typedefvector<string> VS; int n;
voidmirror(VS& a) { for(int i = 0; i < n; i++) for(int j = 0, k = n - 1; j < k; j++, k--) swap(a[i][j], a[i][k]); }
voidrotate(VS& a) { for(int i = 0; i < n; i++) for(int j = 0; j < i; j++) swap(a[i][j], a[j][i]);
mirror(a); }
intcheck(VS& a, VS& b) { auto c = a; // 这里auto 为类型为VS,为复制一遍vector for(int i = 1; i <= 3; i++) { rotate(c); if (c == b) return i; } c = a; mirror(c); if (c == b) return4;
for(int i = 1; i<= 3; i++) { rotate(c); if (c == b) return5; }
if (a == b) return6; return7; }
intmain() { VS a, b; cin >> n; stringline; for(int i = 0; i < n; i++) cin >> line, a.push_back(line); for(int i = 0; i < n; i++) cin >> line, b.push_back(line);