Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Solution {
- public:
- void solve(vector<vector<char>>& board) {
- if( board.empty() ) return;
- int n = (int)board.size();
- int m = (int)board[0].size();
- for(int i=0;i<n;i++)
- {
- if(board[i][0] == 'O') check( i, 0, board );
- if(board[i][m-1] == 'O') check(i, m-1, board );
- }
- for(int i=0;i<m;i++)
- {
- if(board[0][i] == 'O') check( 0, i, board );
- if(board[n-1][i] == 'O') check( n-1, i, board );
- }
- for(int i=0;i<n;i++)
- {
- for(int j=0;j<m; j++ )
- {
- auto & val = board[i][j];
- cout<<val<<" ";
- if(val == 'O') val = 'X';
- else if ( val =='#' ) val = 'O';
- }
- cout<<"\n";
- }
- }
- private:
- void check(int i, int j, vector<vector<char>>&g)
- {
- if( i< 0 || j < 0 || i>= (int)g.size() || j >= (int)g[0].size() )
- return ;
- if(g[i][j] != 'O') return ;
- g[i][j] = '#';
- check(i, j-1, g );
- check( i, j+1, g );
- check( i+1, j, g );
- check( i-1, j, g );
- }
- };
Add Comment
Please, Sign In to add comment