Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- #define all(x) x.begin(),x.end()
- using ll = long long int ;
- const long mod = 1e9+7;
- const ll inf = 1e+14;
- #define mk make_pair
- #define pb push_back
- bool vis[1001][1001];
- char arr[1001][1001];
- int n,m;
- bool valid(int x,int y){
- if(x>n or x<1 or y<1 or y>m)return false;
- else if (vis[x][y]==true or arr[x][y]=='#')return false;
- else return true;
- }
- void dfs(int x,int y){
- vis[x][y]=true;
- if(valid(x-1,y))dfs(x-1, y);
- else if (valid(x,y+1))dfs(x , y+1);
- else if(valid(x,y-1))dfs(x , y-1);
- else if(valid(x+1,y))dfs(x+1, y);
- }
- void solve(){
- memset(vis,false,sizeof(vis));
- cin>>n>>m;
- for(int i=1;i<=n;i++){
- for(int j=1;j<=m;j++)cin>>arr[i][j];
- }
- int cnt=0;
- for(int i =1;i<=n;i++){
- for(int j=1;j<=m;j++){
- if(arr[i][j]=='.' and vis[i][j]==false){
- cnt++;
- dfs(i,j);
- }
- }
- }
- cout<<cnt;
- }int main(){
- #ifndef ONLINE_JUDGE
- freopen("in.txt", "r", stdin);
- freopen("out.txt", "w", stdout);
- #endif
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);//
- int t =1;// cin>>t;
- // int i =1;
- while(t--){
- solve();
- cout<<endl;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement