Submission #797021

#TimeUsernameProblemLanguageResultExecution timeMemory
797021penguinmanThousands Islands (IOI22_islands)C++17
0 / 100
1 ms468 KiB
#include "islands.h" #include <bits/stdc++.h> #include <variant> using std::cin; using std::cout; using std::endl; using std::vector; using std::string; using ll = int; using vi = vector<ll>; using vii = vector<vi>; using pii = std::pair<ll,ll>; #define rep(i,j,k) for(ll i=ll(j); i<ll(k); i++) #define REP(i,j,k) for(ll i=ll(j); i<=ll(k); i++) #define per(i,j,k) for(ll i=ll(j); i>=ll(k); i--) #define pb emplace_back #define ln "\n" std::variant<bool, std::vector<int>> find_journey(int N, int M, std::vector<int> U, std::vector<int> V) { assert(N <= 1000 && M%2 == 0); vii edge(N), index(N); rep(i,0,M){ edge[U[i]].pb(V[i]); index[U[i]].pb(i); } vi ans; vector<bool> flag(N); std::function<void(ll)> dfs = [&](ll now){ rep(i,0,edge[now].size()){ ll next = edge[now][i]; if(flag[next]) continue; flag[next] = true; ans.pb(index[now][i]); dfs(next); ans.pb(index[now][i]^1); } }; flag[0] = true; dfs(0); ll len = ans.size(); if(len != (N-1)*2) return false; rep(i,0,len) ans.pb(ans[i]^1); return ans; }
#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...