Submission #1235742

#TimeUsernameProblemLanguageResultExecution timeMemory
1235742marizaThousands Islands (IOI22_islands)C++20
22.75 / 100
22 ms7460 KiB
#include "islands.h" #include <bits/stdc++.h> using namespace std; typedef long long ll; variant<bool, vector<int>> find_journey(int n, int m, vector<int> u, vector<int> v) { vector<pair<ll,ll>> g[n]; for(ll i=0; i<m; i++){ g[u[i]].push_back({v[i],i}); } if(g[0].size()==0) return false; else if(g[0].size()>=2){ vector<int> ans; ll a1=g[0][0].second, b1=g[0][1].second, a2, b2; if(a1%2==0) a2=a1+1; else a2=a1-1; if(b1%2==0) b2=b1+1; else b2=b1-1; ans.push_back(a1); ans.push_back(a2); ans.push_back(b1); ans.push_back(b2); ans.push_back(a2); ans.push_back(a1); ans.push_back(b2); ans.push_back(b1); return ans; } else{ ll curr=g[0][0].first, prev=0; vector<int> ans, ans2; ans.push_back(g[0][0].second); ans2.push_back(g[0][0].second); while(g[curr].size()<=2){ if(g[curr].size()==1) return false; else{ ll nxt; if(g[curr][0].first==prev){ nxt=g[curr][1].first; ans.push_back(g[curr][1].second); ans2.push_back(g[curr][1].second); } else{ nxt=g[curr][0].first; ans.push_back(g[curr][0].second); ans2.push_back(g[curr][0].second); } prev=curr; curr=nxt; } } ll a1, b1, a2, b2; if(g[curr][0].first==prev){ a1=g[curr][1].second; b1=g[curr][2].second; } else if(g[curr][1].first==prev){ a1=g[curr][0].second; b1=g[curr][2].second; } else{ a1=g[curr][0].second; b1=g[curr][1].second; } if(a1%2==0) a2=a1+1; else a2=a1-1; if(b1%2==0) b2=b1+1; else b2=b1-1; ans.push_back(a1); ans.push_back(a2); ans.push_back(b1); ans.push_back(b2); ans.push_back(a2); ans.push_back(a1); ans.push_back(b2); ans.push_back(b1); reverse(ans2.begin(),ans2.end()); for(auto i:ans2){ ans.push_back(i); } 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...