Advertisement
jibha

Untitled

Jan 30th, 2022
35
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. class Solution {
  2. public:
  3.  
  4.  
  5. int count(vector<vector<char>>& board,int i_in,int j_in){
  6.  
  7.  
  8. int s1=board.size();
  9. int s2=board[0].size();
  10. int ans=0;
  11. for(int i=max(0,i_in-1);i<=min(s1-1,i_in+1);i++){
  12. for(int j=max(0,j_in-1);j<=min(s2-1,j_in+1);j++){
  13.  
  14. if(board[i][j]=='M'){
  15. ans++;
  16. }
  17.  
  18.  
  19. }
  20. }
  21. return ans;
  22.  
  23. }
  24.  
  25. void dfs(vector<vector<char>>& board,int i,int j){
  26.  
  27.  
  28. if(board[i][j]=='E'){
  29. int c=count(board,i,j);
  30. if(c==0){
  31.  
  32. board[i][j]='B';
  33.  
  34.  
  35. int s1=board.size();
  36. int s2=board[0].size();
  37.  
  38. dfs(board,max(0,i-1),j);
  39. dfs(board,min(s1-1,i+1),j);
  40. dfs(board,i,max(0,j-1));
  41. dfs(board,i,min(s2-1,j+1));
  42.  
  43.  
  44. }else{
  45.  
  46. board[i][j]=(char)('0'+c);
  47.  
  48. }
  49. }
  50. return;
  51.  
  52. }
  53.  
  54.  
  55.  
  56. vector<vector<char>> updateBoard(vector<vector<char>>& board, vector<int>& click) {
  57.  
  58.  
  59. if(board[click[0]][click[1]]=='M'){
  60. board[click[0]][click[1]]='X';
  61. return board;
  62.  
  63. }
  64.  
  65.  
  66. dfs(board,click[0],click[1]);
  67.  
  68. return board;
  69. }
  70. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement