fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. long n,m,cnt=0;
  4. bool check[105][105];
  5. char a[105][105];
  6. void loang(long i,long j)
  7. {
  8. if(check[i][j]||i>=n||i<0||j>=m||j<0||a[i][j]=='#')
  9. {
  10. return;
  11. }
  12. cnt++;
  13. check[i][j]=1;
  14. loang(i+1,j);
  15. loang(i,j+1);
  16. loang(i-1,j);
  17. loang(i,j-1);
  18. }
  19. int main()
  20. {
  21. cin>>n>>m;
  22. long i,j;
  23. for(i=0;i<n;i++)
  24. {
  25. cin>>a[i];
  26. }
  27. /*for(i=0;i<n;i++)
  28. {
  29. if(!check[i][0]&&a[i][0]=='.') loang(i,0);
  30. if(!check[i][m-1]&&a[i][m-1]=='.') loang(i,m-1);
  31. }
  32. for(i=0;i<m;i++)
  33. {
  34. if(!check[0][i]&&a[0][i]=='.') loang(0,i);
  35. if(!check[n-1][i]&&a[n-1][i]=='.') loang(n-1,i);
  36. }*/
  37. for(i=0; i<n;i++)
  38. {
  39. for(j=0;j<m;j++)
  40. {
  41. if(!check[i][j] && a[i][j] == '.' &&(i == 0 || i == n-1 || j == 0 || j == m - 1)) loang(i,j);
  42. }
  43. }
  44. cout<<m*n-cnt;
  45. }
Success #stdin #stdout 0s 15256KB
stdin
7 6
.......
..###..
.##.##.
..#..#.
..####.
.......
stdout
16