#include "longesttrip.h"
#include <bits/stdc++.h>
using namespace std;
const int mxn = 256;
vector<int> ans, g[mxn];
bool visited[mxn];
void dfs(int cur, vector<int> path) {
visited[cur] = 1;
if (path.size() > ans.size()) {
ans = path;
}
for (auto x : g[cur]) {
if (!visited[x]) {
path.push_back(x);
dfs(x, path);
path.pop_back();
}
}
}
vector<int> longest_trip(int N, int D) {
for (int i = 0; i < N; i++) g[i].clear();
memset(visited, 0, sizeof(visited));
ans = {};
for (int i = 0; i < N; i++) {
for (int j = i + 1; j < N; j++) {
if (are_connected({i}, {j})) {
g[i].push_back(j);
g[j].push_back(i);
}
}
}
for (int i = 0; i < N; i++) {
if (!visited[i] && g[i].size() == 1) {
dfs(i, {i});
}
}
for (int i = 0; i < N; i++) {
if (!visited[i]) {
dfs(i, {i});
}
}
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... |