Submission #1086130

#TimeUsernameProblemLanguageResultExecution timeMemory
1086130SamueleVidThousands Islands (IOI22_islands)C++17
8.40 / 100
26 ms9084 KiB
#include <bits/stdc++.h> using namespace std; constexpr int MAXN = 1e5 + 5; vector<int> adj[MAXN]; int v[MAXN]; bool ciclo = 0; void dfs(int u) { // cout << "u, p " << u << " " << p << '\n'; // toposort: is there a cycle ? if (v[u] == 2) return; if (v[u] == 1) { ciclo = 1; return; } v[u] = 1; for (auto x : adj[u]) { dfs(x); if (ciclo) return; } v[u] = 2; } variant<bool, vector<int>> find_journey(int N, int M, vector<int> U, vector<int> V) { fill(v, v + MAXN, 0); for (int i = 0; i < M; i ++) { adj[U[i]].push_back(V[i]); // no stesso arco sennò diventa non lineare sui nodi } dfs(0); return ciclo; }
#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...