Advertisement
skimono

Present For Nikita

Oct 3rd, 2021
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.48 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <iostream>
  3. #include <vector>
  4. #include <algorithm>
  5. #include <cmath>
  6. #include <stack>
  7. #include <iomanip>
  8. #include <fstream>
  9. #include <string>
  10. #include <set>
  11. #include <deque>
  12. #include <queue>
  13. #include <map>
  14. #include <bitset>
  15. #include <random>
  16.  
  17. using namespace std;
  18.  
  19. typedef long long ll;
  20. typedef unsigned long long ull;
  21. typedef long double ld;
  22. #define endl "\n"
  23. #define sqrt sqrtl
  24.  
  25. #define all(a) a.begin(), a.end();
  26.  
  27. const ll inf = 1e9 + 13;
  28. long double eps = 1e-6;
  29. const ll maxsz = 1e6 + 5;
  30. ll mod = 1e9 + 7;
  31.  
  32. signed main() {
  33. #ifdef _DEBUG
  34.     freopen("input.txt", "r", stdin);
  35.     freopen("output.txt", "w", stdout);
  36. #endif
  37.     ios_base::sync_with_stdio(0);
  38.     cin.tie(NULL);
  39.     cout.tie(NULL);
  40.     ll n, i, j, x, y, z;
  41.     cin >> n;
  42.     multiset <vector <vector <char> > > a;
  43.     for (i = 0; i < n; i++) {
  44.         vector <vector <char> > sup(2, vector <char>(2));
  45.         for (x = 0; x < 2; x++) {
  46.             for (y = 0; y < 2; y++) {
  47.                 cin >> sup[x][y];
  48.             }
  49.         }
  50.         a.insert(sup);
  51.     }
  52.     ll m;
  53.     cin >> n >> m;
  54.     vector <vector <char> > key(n, vector <char>(m));
  55.     for (i = 0; i < n; i++) {
  56.         for (j = 0; j < m; j++) {
  57.             cin >> key[i][j];
  58.         }
  59.     }
  60.     for (i = 0; i < n; i += 2) {
  61.         for (j = 0; j < m; j += 2) {
  62.             vector <vector <char> > sup1(2, vector <char>(2));
  63.             vector <vector <char> > sup2(2, vector <char>(2));
  64.             vector <vector <char> > sup3(2, vector <char>(2));
  65.             vector <vector <char> > sup4(2, vector <char>(2));
  66.             //
  67.             sup1[0][0] = key[i][j];
  68.             sup1[0][1] = key[i][j + 1];
  69.             sup1[1][0] = key[i + 1][j];
  70.             sup1[1][1] = key[i + 1][j + 1];
  71.             //
  72.             sup2[0][0] = sup1[0][1];
  73.             sup2[0][1] = sup1[1][1];
  74.             sup2[1][0] = sup1[0][0];
  75.             sup2[1][1] = sup1[1][0];
  76.             //
  77.             sup3[0][0] = sup2[0][1];
  78.             sup3[0][1] = sup2[1][1];
  79.             sup3[1][0] = sup2[0][0];
  80.             sup3[1][1] = sup2[1][0];
  81.             //
  82.             sup4[0][0] = sup3[0][1];
  83.             sup4[0][1] = sup3[1][1];
  84.             sup4[1][0] = sup3[0][0];
  85.             sup4[1][1] = sup3[1][0];
  86.             //
  87.             auto a1 = a.find(sup1);
  88.             auto a2 = a.find(sup2);
  89.             auto a3 = a.find(sup3);
  90.             auto a4 = a.find(sup4);
  91.             if (a1 == a.end() && a2 == a.end() && a3 == a.end() && a4 == a.end()) {
  92.                 cout << "NO" << endl;
  93.                 return 0;
  94.             }
  95.             else {
  96.                 if (a1 != a.end()) {
  97.                     a.erase(a1);
  98.                 }
  99.                 else {
  100.                     if (a2 != a.end()) {
  101.                         a.erase(a2);
  102.                     }
  103.                     else {
  104.                         if (a3 != a.end()) {
  105.                             a.erase(a3);
  106.                         }
  107.                         else {
  108.                             a.erase(a4);
  109.                         }
  110.                     }
  111.                 }
  112.             }
  113.         }
  114.     }
  115.     cout << "YES" << endl;
  116.     return 0;
  117. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement