#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;
typedef int ll;
vector<int> longest_trip(int n, int D){
vector<ll> g[n];
bool adj[n][n]={};
for(ll i=0; i<n; i++){
for(ll j=i+1; j<n; j++){
if(are_connected({(int)i},{(int)j})){
g[i].push_back(j);
g[j].push_back(i);
adj[i][j]=1;
adj[j][i]=1;
}
}
}
for(ll i=0; i<n; i++){
if(g[i].size()+1<=n/2){
// cout<<"! "<<i<<endl;
vector<int> ans((n+1)/2,0);
ll c=0;
for(ll j=0; j<n && c<(n+1)/2; j++){
if(i!=j && !adj[i][j]){
ans[c]=j;
c++;
}
// n/2;
}
return ans;
}
}
vector<int> ans((n+1)/2,0);
ans[0]=0;
bool vis[n]={};
for(ll i=1; i<(n+1)/2; i++){
ll curr=ans[i-1];
vis[curr]=1;
for(auto nxt:g[curr]){
if(!vis[nxt]){
ans[i]=nxt;
break;
}
}
}
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... |