Submission #1056413

#TimeUsernameProblemLanguageResultExecution timeMemory
1056413vjudge1Thousands Islands (IOI22_islands)C++17
9.10 / 100
17 ms4956 KiB
#include "islands.h" #include <variant> #include <vector> #include <bits/stdc++.h> using namespace std; using vi = vector<int>; variant<bool, vi> find_journey(int n, int m, vi U, vi V) { vi InDeg(n, 0), OutDeg(n, 0); vector<vi> L(n); for(int i = 0; i < m; ++i) { L[U[i]].push_back(V[i]); ++OutDeg[U[i]]; ++InDeg[V[i]]; } bool ok = false; vi viz(n, 0); function<void(int, int)> dfs = [&](int u, int p) { if(ok) return; if(viz[u] == 2) return; if(viz[u] == 1) { ok = 1; return; } viz[u] = 1; int nrf = 0; for(auto it : L[u]) { if(it != p) { ++nrf; dfs(it, u); } } if(nrf > 1) { ok = true; } viz[u] = 2; }; dfs(0, -1); return ok; }
#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...