Submission #1076404

#TimeUsernameProblemLanguageResultExecution timeMemory
1076404MarwenElarbiLongest Trip (IOI23_longesttrip)C++17
5 / 100
897 ms932 KiB
#include <bits/stdc++.h> #include "longesttrip.h" using namespace std; #define pb push_back #define fi first #define se second const int nax = 2e5+5; const int MOD = 1e9+7; vector<int> adj[256]; std::vector<int> longest_trip(int N, int D) { for (int i = 0; i < N; ++i) { adj[i].clear(); } if(N==3){ if(are_connected({0},{1})&&are_connected({1},{2})) return {0,1,2}; else return {0,2,1}; } set<int> st; for (int i = 0; i < N; ++i) { st.insert(i); for (int j = i+1; j < N; ++j) { if(!are_connected({i},{j})){ cout <<i<<" "<<j<<endl; adj[i].pb(j); adj[j].pb(i); } } } int cur=0; st.erase(0); vector<int> ans; ans.pb(0); while(!st.empty()){ if(adj[cur].size()==1){ for(auto u:st) { if(u==adj[cur][0]) continue; cur=u; ans.pb(u); st.erase(u); break; } }else{ cur=*st.begin(); ans.pb(*st.begin()); st.erase(*st.begin()); } } 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...