Submission #1076223

#TimeUsernameProblemLanguageResultExecution timeMemory
1076223MarwenElarbiLongest Trip (IOI23_longesttrip)C++17
0 / 100
3088 ms1144 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; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); vector<int> adj[256]; bool vis[256]; set<int> components[256]; vector<int> cur; void dfs(int x){ cur.pb(x); vis[x]=true; for(auto u:adj[x]){ if(vis[u]) continue; dfs(u); return; } } std::vector<int> longest_trip(int N, int D) { for (int i = 0; i < N; ++i) { adj[i].clear(); } for (int i = 0; i < N; ++i) { for (int j = i+1; j < N; ++j) { if(are_connected({i},{j})){ adj[i].pb(j); adj[j].pb(i); } } } int t=10000; vector<int> ans; while(t--){ memset(vis,0,sizeof vis); for (int i = 0; i < N; ++i) { shuffle(adj[i].begin(),adj[i].end(),rng); } for (int i = 0; i < N; ++i) { if(vis[i]) continue; cur.clear(); dfs(i); if(ans.size()<cur.size()) ans=cur; } } 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...