#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include "longesttrip.h"
using namespace std;
vector<int>ans;
int n;
bool edge(int u,int v)
{
return are_connected({u},{v});
}
std::vector<int> longest_trip(int N, int D)
{
n=N;
ans.clear();
///reset eveerything
vector<int>v1,v2;
v1.push_back(0);v2.push_back(1);
for(int i=2;i<n;i++)
{
if(edge(i,v1.back()))v1.push_back(i);
else if(edge(i,v2.back()))v2.push_back(i);
else
{
vector<int>tmp=v1;
reverse(v2.begin(),v2.end());
for(int x:v2)tmp.push_back(x);
v1=tmp;
v2.clear();v2.push_back(i);
}
}
if(v1.size()>v2.size())ans=v1;
else ans=v2;
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... |