Submission #1069690

#TimeUsernameProblemLanguageResultExecution timeMemory
1069690Muhammad_AneeqLongest Trip (IOI23_longesttrip)C++17
40 / 100
993 ms1376 KiB
#include <vector> #include <set> #include "longesttrip.h" #include <bitset> using namespace std; int const MAXN=256; vector<int>nei[MAXN]={}; vector<int>ans; vector<int>cur; bitset<MAXN>vis; void dfs(int u,int p=-1) { vis[u]=1; cur.push_back(u); bool w=0; for (auto i:nei[u]) { if (vis[i]) continue; w=1; dfs(i,u); } if (w==0) { if (cur.size()>ans.size()) ans=cur; } cur.pop_back(); } vector<int> longest_trip(int N, int D) { ans.clear(); cur.clear(); for (int i=0;i<N;i++) nei[i].clear(); vector<int>x(1),y(1); for (int i=0;i<N;i++) for (int j=i+1;j<N;j++) { x[0]=i;y[0]=j; if (are_connected(x,y)) nei[i].push_back(j),nei[j].push_back(i); } for (int i=0;i<N;i++) { for (int j=0;j<N;j++) vis[j]=0; dfs(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...