Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define _ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
- #define itloop(it,x) for(auto it=x.begin();it!=x.end();it++)
- #define reloop(i,e,b) for(auto i=e;i>=b;i--)
- #define loop(i,b,e) for(auto i=b;i<=e;i++)
- #define ALL(x) x.begin(),x.end()
- #define SZ(x) x.size()
- #define PB push_back
- #define MP make_pair
- #define F first
- #define S second
- typedef long long LL;
- typedef vector<int> VI;
- bool horz(char m1[20][20],char m2[20][20],int n) {
- loop(i,1,n)
- loop(j,1,n)
- if(m1[i][j] != m2[i][j])
- return false;
- return true;
- }
- bool vertc(char m1[20][20],char m2[20][20],int n) {
- char tmp[20][20];
- int x = n+1;
- loop(i,1,n) {
- x--;
- loop(j,1,n)
- tmp[i][j] = m1[x][j];
- }
- loop(i,1,n)
- loop(j,1,n)
- if (tmp[i][j] != m2[i][j])
- return false;
- return true;
- }
- void rotate(char m1[20][20],int n) {
- char tmp[20][20];
- loop(i,1,n)
- loop(j,1,n)
- tmp[i][j] = m1[n-j+1][i];
- loop(i,1,n)
- loop(j,1,n)
- m1[i][j] = tmp[i][j];
- }
- int n;
- char m1[20][20],m2[20][20];
- int main() {_
- cin >> n;
- loop(i,1,n)
- loop(j,1,n)
- cin >> m1[i][j];
- loop(i,1,n)
- loop(j,1,n)
- cin >> m2[i][j];
- rotate(m1,n);
- if(horz(m1,m2,n) || vertc(m1,m2,n)) {
- cout << "Yes";
- return 0;
- }
- rotate(m1,n);
- if(horz(m1,m2,n) || vertc(m1,m2,n)) {
- cout << "Yes";
- return 0;
- }
- rotate(m1,n);
- if(horz(m1,m2,n) || vertc(m1,m2,n)) {
- cout << "Yes";
- return 0;
- }
- cout << "No";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement