Advertisement
amine99

Untitled

Apr 14th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.66 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define _ ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
  5. #define itloop(it,x) for(auto it=x.begin();it!=x.end();it++)
  6. #define reloop(i,e,b) for(auto i=e;i>=b;i--)
  7. #define loop(i,b,e) for(auto i=b;i<=e;i++)
  8. #define ALL(x) x.begin(),x.end()
  9. #define SZ(x) x.size()
  10. #define PB push_back
  11. #define MP make_pair
  12. #define F first
  13. #define S second
  14. typedef long long LL;
  15. typedef vector<int> VI;
  16.  
  17. bool horz(char m1[20][20],char m2[20][20],int n) {
  18.    loop(i,1,n)
  19.       loop(j,1,n)
  20.          if(m1[i][j] != m2[i][j])
  21.             return false;
  22.    return true;
  23. }
  24.  
  25. bool vertc(char m1[20][20],char m2[20][20],int n) {
  26.     char tmp[20][20];
  27.     int x = n+1;
  28.     loop(i,1,n) {
  29.         x--;
  30.         loop(j,1,n)
  31.             tmp[i][j] = m1[x][j];
  32.     }
  33.     loop(i,1,n)
  34.         loop(j,1,n)
  35.             if (tmp[i][j] != m2[i][j])
  36.                return false;
  37.     return true;
  38. }
  39.  
  40. void rotate(char m1[20][20],int n) {
  41.     char tmp[20][20];
  42.     loop(i,1,n)
  43.         loop(j,1,n)
  44.             tmp[i][j] = m1[n-j+1][i];
  45.  
  46.     loop(i,1,n)
  47.         loop(j,1,n)
  48.             m1[i][j] = tmp[i][j];
  49. }
  50.  
  51. int n;
  52. char m1[20][20],m2[20][20];
  53.  
  54. int main() {_
  55.    cin >> n;
  56.    loop(i,1,n)
  57.       loop(j,1,n)
  58.          cin >> m1[i][j];
  59.    loop(i,1,n)
  60.       loop(j,1,n)
  61.          cin >> m2[i][j];
  62.    rotate(m1,n);
  63.    if(horz(m1,m2,n) || vertc(m1,m2,n)) {
  64.       cout << "Yes";
  65.       return 0;
  66.    }
  67.    rotate(m1,n);
  68.    if(horz(m1,m2,n) || vertc(m1,m2,n)) {
  69.       cout << "Yes";
  70.       return 0;
  71.    }
  72.    rotate(m1,n);
  73.    if(horz(m1,m2,n) || vertc(m1,m2,n)) {
  74.       cout << "Yes";
  75.       return 0;
  76.    }
  77.    cout << "No";
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement