Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <string>
- #include <algorithm>
- #include <vector>
- #include <iostream>
- using namespace std;
- int main()
- {
- char x;
- int count;
- string s;
- bool flag = true;
- int c[5];
- for (int i = 0; i < 5; i++)
- c[i] = 0;
- vector < string > a;
- int v[10][10];
- for (int i = 0; i < 10; i++)
- {
- cin >> s;
- a.push_back(s);
- }
- for (int i = 0; i < 10; i++)
- for (int j = 0; j < 10; j++)
- {
- if (a[i][j] == 'X')
- {
- if (j == 0 || a[i][j - 1] == '.')
- count = 1;
- else
- count++;
- if (count > 4)
- flag = false;
- if (j == 9 || a[i][j + 1] == '.')
- if (count > 1 && count < 5)
- c[count]++;
- if (i == 0 || a[i - 1][j] == '.')
- v[i][j] = 1;
- else
- v[i][j] = v[i - 1][j] + 1;
- if (i > 0 && a[i - 1][j] == 'X' || i < 9 && a[i + 1][j] == 'X')
- if (j > 0 && a[i][j - 1] == 'X' || j < 9 && a[i][j + 1] == 'X')
- flag = false;
- if (i > 0 && j > 0 && a[i - 1][j - 1] == 'X')
- flag = false;
- if (i < 9 && j < 9 && a[i + 1][j + 1] == 'X')
- flag = false;
- if (i > 0 && j < 9 && a[i - 1][j + 1] == 'X')
- flag = false;
- if (i < 9 && j > 0 && a[i + 1][j - 1] == 'X')
- flag = false;
- }
- }
- for (int i = 0; i < 10; i++)
- {
- for (int j = 0; j < 10; j++)
- {
- if (i == 9 || a[i + 1][j] == '.')
- if (v[i][j] > 1 && v[i][j] < 5)
- c[v[i][j]] ++;
- else
- if (v[i][j] == 1)
- if (j == 0 || a[i][j - 1] == '.')
- if (j == 9 || a[i][j + 1] == '.')
- c[1]++;
- if (v[i][j] > 4)
- flag = false;
- }
- }
- if (c[1] != 4 || c[2] != 3 || c[3] != 2 || c[4] != 1)
- flag = false;
- if (flag)
- cout << "YES";
- else
- cout << "NO";
- }
Advertisement
Add Comment
Please, Sign In to add comment