Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long
- #define ull unsigned long long
- #define s second
- #define f first
- #include<vector>
- #include<set>
- #include<map>
- #include<stack>
- const ll Mod = 1000000007;
- using namespace std;
- void salma(){
- ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
- cout << fixed << setprecision(0);
- }
- int n , m , cnt = 0;
- vector<vector<char>> grid;
- vector<vector<bool>> vis;
- bool valid(int r , int c){
- return r >= 0 && r < n && c >= 0 && c < m;
- }
- int x , y;
- void reachCells(int r , int c){
- // if(valid(r , c) && grid[r][c] == '*' && r == x && c == y) grid[r][c] = '.' , cnt--;
- if(!valid(r , c) || grid[r][c] == '*' || vis[r][c] == 1) return;
- vis[r][c] = true;
- cnt++;
- reachCells(r , c - 1);
- reachCells(r , c + 1);
- reachCells(r - 1 , c);
- reachCells(r + 1 , c);
- }
- int main(){
- // freopen("input.txt", "r", stdin);
- // freopen("output.txt", "w", stdout);
- salma();
- cin >> n >> m;
- grid.assign(n , vector<char> (m));
- vis.resize(n , vector<bool> (m));
- for(int i = 0 ; i < n ; i++){
- for(int j = 0 ; j < m; j++){
- cin >> grid[i][j];
- }
- }cin >> x >> y;
- reachCells(x - 1, y - 1);
- cout << cnt;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement