Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- //mipt
- vector< vector<char> > b(8, vector<char> (8));
- vector< vector<bool> > used(8, vector<bool> (8, false));
- void dfs(int i, int j, char col)
- {
- if (col == b[i][j])
- return;
- used[i][j] = true;
- if (i != 0 && !used[i - 1][j])
- dfs(i - 1, j, b[i][j]);
- if (i != 7 && !used[i + 1][j])
- dfs(i + 1, j, b[i][j]);
- if (j != 0 && !used[i][j - 1])
- dfs(i, j - 1, b[i][j]);
- if (j != 7 && !used[i][j + 1])
- dfs(i, j + 1, b[i][j]);
- }
- int main()
- {
- freopen("Board.in", "r", stdin);
- freopen("Board.out", "w", stdout);
- for (int i = 0; i < 8; ++i)
- for (int j = 0; j < 8; ++j)
- cin >> b[i][j];
- int ans = 0;
- for (int i = 0; i < 8; ++i)
- for (int j = 0; j < 8; ++j)
- if (!used[i][j])
- {
- dfs(i, j, b[i][j] + 1);
- ++ans;
- }
- cout << ans;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment