Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- using ll = long long;
- vector<string> z1;
- void solve(vector<string> &z1, ll x1, ll x2, ll i, ll j)
- {
- z1.at(i).at(j) = '#';
- bool ok = 0;
- if (i - 1 > -1 && z1.at(i - 1).at(j) == '-')
- {
- solve(z1, x1, x2, i - 1, j);
- ok = 1;
- }
- if (i + 1 < x1 && z1.at(i + 1).at(j) == '-')
- {
- solve(z1, x1, x2, i + 1, j);
- ok = 1;
- }
- if (j + 1 < x2 && z1.at(i).at(j + 1) == '-')
- {
- solve(z1, x1, x2, i, j + 1);
- ok = 1;
- }
- if (j - 1 > -1 && z1.at(i).at(j - 1) == '-')
- {
- solve(z1, x1, x2, i, j - 1);
- ok = 1;
- }
- }
- int main()
- {
- ll ww = 1;
- ll x1, x2;
- while (cin >> x1 >> x2)
- {
- ll cnt = 0;
- for (int i = 0; i < x1; i++)
- {
- string x;
- cin >> x;
- z1.push_back(x);
- }
- for (int i = 0; i < x1; i++)
- {
- for (int j; j < x2; j++)
- {
- if (z1.at(i).at(j) == '-')
- {
- cnt += 1;
- solve(z1, x1, x2, i, j);
- }
- }
- }
- cout << "Case " << ww << ": " << cnt;
- ww += 1;
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment