martarubtsova

Untitled

Feb 6th, 2018
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.65 KB | None | 0 0
  1. #include <string>
  2. #include <algorithm>
  3. #include <vector>
  4. #include <iostream>
  5.  
  6. using namespace std;
  7.  
  8. int main()
  9. {
  10.     char x;
  11.     int count;
  12.     string s;
  13.     bool flag = true;
  14.     int c[5];
  15.     for (int i = 0; i < 5; i++)
  16.         c[i] = 0;
  17.     vector < string > a;
  18.     int v[10][10];
  19.     for (int i = 0; i < 10; i++)
  20.     {
  21.         cin >> s;
  22.         a.push_back(s);
  23.     }
  24.     for (int i = 0; i < 10; i++)
  25.         for (int j = 0; j < 10; j++)
  26.         {
  27.             if (a[i][j] == 'X')
  28.             {
  29.                 if (j == 0 || a[i][j - 1] == '.')
  30.                     count = 1;
  31.                 else
  32.                     count++;
  33.                 if (count > 4)
  34.                     flag = false;
  35.                 if (j == 9 || a[i][j + 1] == '.')
  36.                     if (count > 1 && count < 5)
  37.                         c[count]++;
  38.                 if (i == 0 || a[i - 1][j] == '.')
  39.                     v[i][j] = 1;
  40.                 else
  41.                     v[i][j] = v[i - 1][j] + 1;
  42.                 if (i > 0 && a[i - 1][j] == 'X' || i < 9 && a[i + 1][j] == 'X')
  43.                     if (j > 0 && a[i][j - 1] == 'X' || j < 9 && a[i][j + 1] == 'X')
  44.                         flag = false;
  45.                 if (i > 0 && j > 0 && a[i - 1][j - 1] == 'X')
  46.                     flag = false;
  47.                 if (i < 9 && j < 9 && a[i + 1][j + 1] == 'X')
  48.                     flag = false;
  49.                 if (i > 0 && j < 9 && a[i - 1][j + 1] == 'X')
  50.                     flag = false;
  51.                 if (i < 9 && j > 0 && a[i + 1][j - 1] == 'X')
  52.                     flag = false;
  53.             }
  54.         }
  55.     for (int i = 0; i < 10; i++)
  56.     {
  57.         for (int j = 0; j < 10; j++)
  58.         {
  59.             if (i == 9 || a[i + 1][j] == '.')
  60.                 if (v[i][j] > 1 && v[i][j] < 5)
  61.                     c[v[i][j]] ++;
  62.                 else
  63.                     if (v[i][j] == 1)
  64.                         if (j == 0 || a[i][j - 1] == '.')
  65.                             if (j == 9 || a[i][j + 1] == '.')
  66.                                 c[1]++;
  67.             if (v[i][j] > 4)
  68.                 flag = false;
  69.         }
  70.     }
  71.     if (c[1] != 4 || c[2] != 3 || c[3] != 2 || c[4] != 1)
  72.         flag = false;
  73.     if (flag)
  74.         cout << "YES";
  75.     else
  76.         cout << "NO";
  77. }
Advertisement
Add Comment
Please, Sign In to add comment