Advertisement
martarubtsova

Untitled

Feb 6th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.37 KB | None | 0 0
  1. #include <string >
  2. #include <vector>
  3. #include <iostream>
  4.  
  5. using namespace std;
  6.  
  7.  
  8. int main()
  9. {
  10.     char a[12][12];
  11.     int count[5];
  12.     for (int i = 0; i < 5; i++)
  13.         count[i] = 0;
  14.     int v, len, k, z, one = 0;
  15.     for (int i = 0; i < 12; i++)
  16.         for (int j = 0; j < 12; j++)
  17.             if (i == 0 || j == 0 || i == 11 || j == 11)
  18.                 a[i][j] = '.';
  19.             else
  20.                 cin >> a[i][j];
  21.     for (int i = 1; i < 11; i++)
  22.         for (int j = 1; j < 11; j++)
  23.             if (a[i][j] == 'X')
  24.                 if (a[i - 1][j] == 'X' || a[i + 1][j] == 'X')
  25.                     if (a[i][j - 1] == 'X' || a[i][j + 1] == 'X')
  26.                     {
  27.                         cout << "NO";
  28.                         return 0;
  29.                     }
  30.     for (int i = 1; i < 11; i++)
  31.         for (int j = 1; j < 11; j++)
  32.             if (a[i][j] == 'X')
  33.                 for (a[i][j] = 'A', v = -1; v < 2; v++)
  34.                     for (int h = -1; h < 2; h++)
  35.                         if (a[i + v][j + h] != '.')
  36.                         {
  37.                             if (!(v < 0 && h == 0 || h < 0 && v == 0) && (h < 0 || v < 0 || h && v))
  38.                             {
  39.                                 cout << "NO";
  40.                                 return 0;
  41.                             }
  42.                             for (len = 1, k = i + v, z = j + h; a[k][z] == 'X'; k += v, z += h)
  43.                             {
  44.                                 if (len > 4)
  45.                                 {
  46.                                     cout << "NO";
  47.                                     return 0;
  48.                                 }
  49.                                 a[k][z] = 'A';
  50.                                 len++;
  51.                             }
  52.                             if (len > 1)
  53.                                 one++;
  54.                             count[len]++;
  55.                         }
  56.     count[1] -= one;
  57.     if (count[1] != 4 || count[2] != 3 || count[3] != 2 || count[4] != 1)
  58.         cout << "NO";
  59.     else
  60.         cout << "YES";
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement