This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "longesttrip.h"
#include <bits/stdc++.h>
#define pb push_back
#define elif else if
using namespace std;
std::vector<int> longest_trip(int n, int D)
{
vector<int> ans;
vector<bool> vis(n);
bool adj[n][n];
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
vector<int> x,y;
x.pb(i);y.pb(j);
adj[i][j]=adj[j][i]=are_connected(x,y);
}
}
for (int i=0;i<n;i++){
vector<int> v;
for (int j=0;j<n;j++) vis[j]=0;
v.pb(i);vis[i]=1;
while (true){
int L=-1,R=-1;
for (int j=0;j<n;j++){
if (vis[j]) continue;
if (adj[v.back()][j]) R=j;
if (adj[v[0]][j]) L=j;
}
if (R>-1) v.pb(R),vis[R]=1;
elif(L>-1){
reverse(v.begin(),v.end());
v.pb(L);
vis[L]=1;
}
else break;
}
if (v.size()>ans.size()) ans=v;
}
return ans;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |