제출 #1165266

#제출 시각아이디문제언어결과실행 시간메모리
1165266s101gTracks in the Snow (BOI13_tracks)C++20
2.19 / 100
1144 ms781336 KiB
#include <bits/stdc++.h> using namespace std; vector<int> dr{-1, 1, 0, 0}, dc{0, 0, 1, -1}; int n, m; vector<vector<char>> a; vector<vector<bool>> vis; void dfs(int r, int c, char cc) { if (r < 0 || c < 0 || r >= n || c >= m || vis[r][c] || a[r][c] != cc) return; vis[r][c] = true; a[r][c] = 'X'; for (int i = 0; i < 4; i++) { dfs(r + dr[i], c + dc[i], cc); } } int main() { cin >> n >> m; a = vector<vector<char>>(n, vector<char>(m)); vis = vector<vector<bool>>(n, vector<bool>(m, false)); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> a[i][j]; } } if (a[0][0] == '.') cout << 0 << "\n"; else { int ans = 1; dfs(0, 0, a[0][0]); for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { if (a[i][j] != '.' && a[i][j] != 'X') { ans++; break; } } if (ans > 1) break; } cout << ans << '\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...