Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream fin("fill.in");
- ofstream fout("fill.out");
- int A[1001][1001], n, m;
- const int di[] = {0, 0, -1, 1},
- dj[] = {-1, 1, 0, 0};
- void Fill(int i, int j, int val)
- {
- if(i <= n && j <= m && i >= 1 && j >= 1 && A[i][j] == 1)
- {
- A[i][j] = val;
- for(int k = 0; k < 4; k++)
- Fill(i + di[k], j + dj[k], val);
- }
- }
- int main()
- {
- fin >> n >> m;
- for(int i = 1; i <= n; i++)
- for(int j = 1; j <= m; j++)
- fin >> A[i][j];
- int cnt = 0;
- for(int i = 1; i <= n; i++)
- for(int j = 1; j <= m; j++)
- if(A[i][j] == 1)
- {
- cnt++;
- Fill(i, j, 2);
- }
- fout << cnt;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement