Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include <cmath>
- #include <vector>
- #include <algorithm>
- using namespace std;
- int mas1[50][50];
- int mas2[50][50];
- bool firstPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
- {
- if (bakt == bakt2)
- return true;
- else
- return false;
- }
- bool secondPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
- {
- vector<vector<int>> blnBakt;
- for (int j = bakt[0].size()-1; j >= 0; j--)
- {
- vector<int> bln;
- for (int i = 0; i < bakt.size(); i++)
- {
- bln.push_back(bakt[i][j]);
- }
- blnBakt.push_back(bln);
- }
- if (blnBakt == bakt2)
- return true;
- else
- return false;
- }
- bool thirdPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
- {
- vector<vector<int>> blnBakt;
- for (int i = bakt.size() - 1; i >= 0; i--)
- {
- vector<int> bln;
- for (int j = bakt[0].size() - 1; j >= 0; j--)
- {
- bln.push_back(bakt[i][j]);
- }
- blnBakt.push_back(bln);
- }
- if (blnBakt == bakt2)
- return true;
- else
- return false;
- }
- bool fourthPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
- {
- vector<vector<int>> blnBakt;
- for (int j = 0; j < bakt[0].size(); j++)
- {
- vector<int> bln;
- for (int i = bakt.size() - 1; i >= 0; i--)
- {
- bln.push_back(bakt[i][j]);
- }
- blnBakt.push_back(bln);
- }
- if (blnBakt == bakt2)
- return true;
- else
- return false;
- }
- int main()
- {
- vector<vector<int>> bakt;
- vector<vector<int>> bakt2;
- int countStars = 0;
- int countStars2 = 0;
- int n, m;
- cin >> n >> m;
- char bl;
- int maxX = 0, maxY = 0;
- int minX = 50, minY = 50;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cin >> bl;
- if (bl == '.')
- mas1[i][j] = 0;
- else
- {
- mas1[i][j] = 1;
- countStars++;
- maxX = max(j, maxX);
- maxY = max(i, maxY);
- minX = min(j, minX);
- minY = min(i, minY);
- }
- }
- }
- for (int i = minY; i <= maxY; i++)
- {
- vector<int> bln;
- for (int j = minX; j <= maxX; j++)
- {
- bln.push_back(mas1[i][j]);
- }
- bakt.push_back(bln);
- }
- ///////////// 2 /////////////
- maxX = 0;
- maxY = 0;
- minX = 50;
- minY = 50;
- cin >> n >> m;
- for (int i = 0; i < n; i++)
- {
- for (int j = 0; j < m; j++)
- {
- cin >> bl;
- if (bl == '.')
- mas2[i][j] = 0;
- else
- {
- mas2[i][j] = 1;
- countStars2++;
- maxX = max(j, maxX);
- maxY = max(i, maxY);
- minX = min(j, minX);
- minY = min(i, minY);
- }
- }
- }
- for (int i = minY; i <= maxY; i++)
- {
- vector<int> bln;
- for (int j = minX; j <= maxX; j++)
- {
- bln.push_back(mas2[i][j]);
- }
- bakt2.push_back(bln);
- }
- if (countStars == )
- if (firstPos(bakt, bakt2) || secondPos(bakt, bakt2) || thirdPos(bakt, bakt2) || fourthPos(bakt, bakt2))
- cout << "YES" << endl;
- else
- cout << "NO" << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement