Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 2e5+5, INF = 1e9;
- int main(){
- ios_base::sync_with_stdio(0);
- cin.tie(0); cout.tie(0);
- int n, cnt = 0, i = -1;
- cin >> n;
- vector<vector<char>> m(n,vector<char>(n)), tm;
- set<vector<vector<char>>> s;
- for(int i = 0; i < n; ++i)
- for(int j = 0; j < n; ++j)
- cin >> m[i][j], cnt+=m[i][j]=='*';
- if(cnt==0){ cout << "No\n" << i+1; return 0;}
- tm = m;
- for(i = 0;!s.count(m); ++i){
- s.insert(m);
- cnt = 0;
- for(int i = 0; i < n; ++i){
- for(int j = 0; j < n; ++j){
- int k = 0;
- for(int x = -1; x < 2; ++x)
- for(int y = -1; y < 2; ++y)
- k+=((x|y)&&i+x>=0&&i+x<n&&j+y>=0&&j+y<n&&m[i+x][j+y]=='*');
- if(k==3) tm[i][j] = '*';
- if(k<2||k>3) tm[i][j] = 'x';
- cnt+=tm[i][j] =='*';
- }
- }
- if(cnt==0){ cout << "No\n" << i+1; return 0;}
- m = tm;
- }
- cout << "Yes\n" << i;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement