이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "longesttrip.h"
#include<bits/stdc++.h>
using namespace std;
#define eb emplace_back
#define ask are_connected
vector<int> adj[260];
bitset<260> vis;
vector<int> ans;
void dfs(int u){
vis[u]=1;
ans.eb(u);
for(auto &v:adj[u]){
if(!vis[v]) dfs(v);
}
}
std::vector<int> longest_trip(int N, int D)
{
if(D==1){
ans.resize(N);
iota(ans.begin(),ans.end(),0);
return ans;
}
for(int i=0;i<N;++i) adj[i].clear();
if(D==2){
for(int i=0;i+1<N;++i){
if(ask({i},{i+1})) adj[i].eb(i+1), adj[i+1].eb(i);
else for(int j=0;j<N;++j){
if(i<=j&&j<=i+1) continue;
adj[j].eb(i), adj[i].eb(j);
adj[j].eb(i+1), adj[i+1].eb(j);
}
}
vis.reset();
dfs(0);
return ans;
}
return{};
}
| # | 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... |