제출 #1120545

#제출 시각아이디문제언어결과실행 시간메모리
1120545vjudge1Tracks in the Snow (BOI13_tracks)C++17
29.58 / 100
994 ms599960 KiB
#include <bits/stdc++.h> using namespace std; void dfs(const vector<vector<char>> &arr, vector<vector<char>> &visited, int i, int j, char first) { if (i >= (int)arr.size() or i < 0 or j >= (int)arr[i].size() or j < 0 or visited[i][j] or arr[i][j] != first) { return; } visited[i][j] = true; dfs(arr, visited, i + 1, j, first); dfs(arr, visited, i - 1, j, first); dfs(arr, visited, i, j + 1, first); dfs(arr, visited, i, j - 1, first); } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n, m, ans = 0; cin >> n >> m; vector<vector<char>> arr(n, vector<char>(m)); vector<vector<char>> visited(n, vector<char>(m, false)); for (vector<char> &v : arr) { for (char &c : v) { cin >> c; } } for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (arr[i][j] == '.' or visited[i][j]) { continue; } dfs(arr, visited, i, j, arr[i][j]); ans++; } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...