제출 #1269326

#제출 시각아이디문제언어결과실행 시간메모리
1269326sula2장애물 (IOI25_obstacles)C++20
23 / 100
1115 ms2162688 KiB
#include <bits/stdc++.h> using namespace std; vector<int> T,H; vector<vector<int>> comp; int n,m; pair<int,int> dir[] = { {0, 1}, {1, 0}, {0, -1}, {-1, 0} }; bool valid(int i, int j) { return 0 <= min(i, j) && i < n && j < m && T[i] > H[j] && comp[i][j] == 0; } void dfs(int i, int j, int c) { comp[i][j] = c; for (auto [di, dj] : dir) if (valid(i + di, j + dj)) dfs(i + di, j + dj, c); } void initialize(vector<int> _T, vector<int> _H) { n = _T.size(); m = _H.size(); comp.resize(n, vector<int>(m)); T = _T, H = _H; int c = 0; for (int i = 0; i < n; i++) for (int j = 0; j < m; j++) if (valid(i, j)) dfs(i, j, ++c); } bool can_reach(int l, int r, int s, int t) { return comp[0][s] == comp[0][t]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...