Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- const int N = 101, M = 101;
- bool gr[N][M];
- int n,m;
- bool used[N][M];
- int DX[] = {0,0,1,-1};
- int DY[] = {-1,1,0,0};
- void dfs(int x,int y)
- {
- int xn, yn;
- used[x][y] = true;
- for(int i = 0 ; i < 4 ; ++i)
- {
- xn = x + DX[i], yn = y + DY[i];
- if(xn >= 0 && xn < n && yn >= 0 && yn < m && !gr[xn][yn] && !used[xn][yn])
- dfs(xn,yn);
- }
- return;
- }
- signed main()
- {
- scanf("%d %d",&n,&m);
- for(int i = 0 ; i < n ; ++i)
- {
- for(int j = 0 ; j < m ; ++j)
- {
- scanf("%d",&gr[i][j]);
- }
- }
- int c = 0;
- for(int i = 0 ; i < n ; ++i)
- {
- for(int j = 0 ; j < m ; ++j)
- {
- if(!used[i][j] && !gr[i][j])
- {
- dfs(i,j);
- c++;
- }
- }
- }
- printf("%d",c);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement