Advertisement
Guest User

Untitled

a guest
Nov 20th, 2019
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.79 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3.  
  4. using namespace std;
  5.  
  6. ifstream fin("fill.in");
  7. ofstream fout("fill.out");
  8.  
  9. int A[1001][1001], n, m;
  10.  
  11. const int di[] = {0, 0, -1, 1},
  12. dj[] = {-1, 1, 0, 0};
  13.  
  14. void Fill(int i, int j, int val)
  15. {
  16. if(i <= n && j <= m && i >= 1 && j >= 1 && A[i][j] == 1)
  17. {
  18. A[i][j] = val;
  19. for(int k = 0; k < 4; k++)
  20. Fill(i + di[k], j + dj[k], val);
  21. }
  22. }
  23.  
  24. int main()
  25. {
  26. fin >> n >> m;
  27. for(int i = 1; i <= n; i++)
  28. for(int j = 1; j <= m; j++)
  29. fin >> A[i][j];
  30.  
  31. int cnt = 0;
  32.  
  33. for(int i = 1; i <= n; i++)
  34. for(int j = 1; j <= m; j++)
  35. if(A[i][j] == 1)
  36. {
  37. cnt++;
  38. Fill(i, j, 2);
  39. }
  40. fout << cnt;
  41.  
  42. return 0;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement