제출 #1244939

#제출 시각아이디문제언어결과실행 시간메모리
1244939mohamedyehiaTracks in the Snow (BOI13_tracks)C++20
0 / 100
982 ms1114112 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<ll> vll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; #define ffr(i, s, n) for (int i = s; i < n; i++) vector<vector<bool>> adj, visited; void flood_fill(ll i, ll j, ll n, ll m, char color, vector<string> &snow) { if (i < 0 || i >= n || j < 0 || j >= m) return; if (snow[i][j] == '.' || visited[i][j]) return; visited[i][j] = 1; flood_fill(i + 1, j, n, m, color, snow); flood_fill(i - 1, j, n, m, color, snow); flood_fill(i, j + 1, n, m, color, snow); flood_fill(i, j - 1, n, m, color, snow); } void solve() { ll n, m; cin >> n >> m; visited.assign(n, vector<bool>(m)); vector<string> snow(n); ffr(i, 0, n) { cin >> snow[i]; } ll ans = 0; ffr(i, 0, n) { ffr(j, 0, m) { if (!visited[i][j] && snow[i][j] != '.') { flood_fill(i, j, n, m, snow[i][j], snow); ans++; } } } cout << ans + 1 << "\n"; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...