이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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++){
if (vis[i]) continue;
vector<int> v;
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... |