Submission #954697

#TimeUsernameProblemLanguageResultExecution timeMemory
954697n1kThousands Islands (IOI22_islands)C++17
1.75 / 100
68 ms12064 KiB
#include "islands.h" #include <bits/stdc++.h> using namespace std; vector<vector<array<int, 2>>> g; vector<set<int>> connected; vector<int> color, par; int x, y; bool dfs(int u, int p){ par[u] = p; color[u] = 1; for(auto [v, e]:g[u]){ if(v==p) continue; if(color[v]){ x = v; y = u; return true; } if(dfs(v, u)){ return true; } } return false; } std::variant<bool, std::vector<int>> find_journey(int N, int M, std::vector<int> U, std::vector<int> V) { g.assign(N, {}); connected.assign(N, {}); color.assign(N, {}); par.assign(N, {}); for(int i=0; i<M; i++){ if(connected[U[i]].count(V[i])) continue; g[U[i]].push_back({V[i], i}); connected[U[i]].insert(V[i]); } return dfs(0, -1); }
#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...