제출 #1120280

#제출 시각아이디문제언어결과실행 시간메모리
1120280vjudge1Tracks in the Snow (BOI13_tracks)C++17
2.19 / 100
1 ms508 KiB
#include <bits/stdc++.h> using namespace std; void dfs(const vector<vector<char>> &arr, vector<vector<char>> &visited, int i, int j, int &ans, char &sawFox, char &sawRabbit) { 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] == '.') { return; } visited[i][j] = true; if (arr[i][j] == 'F' and !sawFox) { sawFox = true; ans++; } if (arr[i][j] == 'R' and !sawRabbit) { sawRabbit = true; ans++; } dfs(arr, visited, i + 1, j, ans, sawFox, sawRabbit); dfs(arr, visited, i - 1, j, ans, sawFox, sawRabbit); dfs(arr, visited, i, j + 1, ans, sawFox, sawRabbit); dfs(arr, visited, i, j - 1, ans, sawFox, sawRabbit); } int main() { cout << 1 << '\n'; return 0; ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n, m, ans = 0; char b1, b2; 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; } b1 = b2 = false; dfs(arr, visited, i, j, ans, b1, b2); } } cout << ans << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...