Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void main(String args[]) throws java.lang.Exception
- {
- FastScanner sc=new FastScanner();
- int n=sc.nextInt();
- int m=sc.nextInt();
- char ar[][]=new char [n][];
- for(int i=0;i<n;i++)
- {
- ar[i]=sc.next().toCharArray();
- }
- ck=new boolean[n][m];
- long ans=0;
- for(int i=0;i<n;i++)
- {
- for(int j=0;j<m;j++)
- {
- if(ar[i][j]!='#' && ck[i][j]==false)
- {
- ans++;
- dfs(i,j,ck,ar);
- }
- }
- }
- System.out.println(ans);
- }
- static boolean ck[][];
- public static void dfs(int i, int j, boolean ck[][],char ar[][])
- {
- if(i<0 || i>=ar.length|| j<0|| j>=ar[0].length || ar[i][j]=='#' || ck[i][j]==true)
- {
- return ;
- }
- ck[i][j]=true;
- dfs(i-1, j, ck,ar); // // getting overflow here for input 1000 1000 and all ....
- dfs(i+1, j, ck,ar);
- dfs(i, j-1, ck,ar);
- dfs(i, j+1, ck,ar);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment