Advertisement
Guest User

Untitled

a guest
Oct 30th, 2014
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.76 KB | None | 0 0
  1. #include <iostream>
  2. #include <iomanip>
  3. #include <string>
  4. #include <cmath>
  5. #include <vector>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. int mas1[50][50];
  11. int mas2[50][50];
  12.  
  13. bool firstPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
  14. {
  15. if (bakt == bakt2)
  16. return true;
  17. else
  18. return false;
  19. }
  20.  
  21. bool secondPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
  22. {
  23. vector<vector<int>> blnBakt;
  24. for (int j = bakt[0].size()-1; j >= 0; j--)
  25. {
  26. vector<int> bln;
  27. for (int i = 0; i < bakt.size(); i++)
  28. {
  29. bln.push_back(bakt[i][j]);
  30. }
  31. blnBakt.push_back(bln);
  32. }
  33. if (blnBakt == bakt2)
  34. return true;
  35. else
  36. return false;
  37. }
  38.  
  39. bool thirdPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
  40. {
  41. vector<vector<int>> blnBakt;
  42. for (int i = bakt.size() - 1; i >= 0; i--)
  43. {
  44. vector<int> bln;
  45. for (int j = bakt[0].size() - 1; j >= 0; j--)
  46. {
  47. bln.push_back(bakt[i][j]);
  48. }
  49. blnBakt.push_back(bln);
  50. }
  51. if (blnBakt == bakt2)
  52. return true;
  53. else
  54. return false;
  55. }
  56.  
  57. bool fourthPos(vector<vector<int>> bakt, vector<vector<int>> bakt2)
  58. {
  59. vector<vector<int>> blnBakt;
  60. for (int j = 0; j < bakt[0].size(); j++)
  61. {
  62. vector<int> bln;
  63. for (int i = bakt.size() - 1; i >= 0; i--)
  64. {
  65. bln.push_back(bakt[i][j]);
  66. }
  67. blnBakt.push_back(bln);
  68. }
  69. if (blnBakt == bakt2)
  70. return true;
  71. else
  72. return false;
  73. }
  74.  
  75. int main()
  76. {
  77. vector<vector<int>> bakt;
  78. vector<vector<int>> bakt2;
  79. int countStars = 0;
  80. int countStars2 = 0;
  81. int n, m;
  82. cin >> n >> m;
  83. char bl;
  84. int maxX = 0, maxY = 0;
  85. int minX = 50, minY = 50;
  86. for (int i = 0; i < n; i++)
  87. {
  88. for (int j = 0; j < m; j++)
  89. {
  90. cin >> bl;
  91. if (bl == '.')
  92. mas1[i][j] = 0;
  93. else
  94. {
  95. mas1[i][j] = 1;
  96. countStars++;
  97. maxX = max(j, maxX);
  98. maxY = max(i, maxY);
  99. minX = min(j, minX);
  100. minY = min(i, minY);
  101. }
  102. }
  103. }
  104. for (int i = minY; i <= maxY; i++)
  105. {
  106. vector<int> bln;
  107. for (int j = minX; j <= maxX; j++)
  108. {
  109. bln.push_back(mas1[i][j]);
  110. }
  111. bakt.push_back(bln);
  112. }
  113. ///////////// 2 /////////////
  114. maxX = 0;
  115. maxY = 0;
  116. minX = 50;
  117. minY = 50;
  118. cin >> n >> m;
  119. for (int i = 0; i < n; i++)
  120. {
  121. for (int j = 0; j < m; j++)
  122. {
  123. cin >> bl;
  124. if (bl == '.')
  125. mas2[i][j] = 0;
  126. else
  127. {
  128. mas2[i][j] = 1;
  129. countStars2++;
  130. maxX = max(j, maxX);
  131. maxY = max(i, maxY);
  132. minX = min(j, minX);
  133. minY = min(i, minY);
  134. }
  135. }
  136. }
  137. for (int i = minY; i <= maxY; i++)
  138. {
  139. vector<int> bln;
  140. for (int j = minX; j <= maxX; j++)
  141. {
  142. bln.push_back(mas2[i][j]);
  143. }
  144. bakt2.push_back(bln);
  145. }
  146. if (countStars == )
  147. if (firstPos(bakt, bakt2) || secondPos(bakt, bakt2) || thirdPos(bakt, bakt2) || fourthPos(bakt, bakt2))
  148. cout << "YES" << endl;
  149. else
  150. cout << "NO" << endl;
  151. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement