#include "fun.h"
#include <bits/stdc++.h>
#include <vector>
using namespace std;
stack<int> s;
vector<vector<pair<int,int>>> adj;
vector<int> v;
bool valid = false;
int n;
void dfs(int cur, int par, int mw) {
for(auto &x : adj[cur]) {
if(x.first == par || x.second > mw) {
continue;
}
dfs(x.first, cur, x.second);
s.push(x.first);
}
if(s.size() == n) {
while(!s.empty()) {
v.push_back(s.top());
s.pop();
}
valid = true;
return;
}
else {
s.pop();
}
}
std::vector<int> createFunTour(int N, int Q) {
int H = hoursRequired(0, N - 1);
int A = attractionsBehind(0, N - 1);
return std::vector<int>(N);
n = N;
adj.resize(N);
for(int i = 0;i < N ; i++){
for(int j = i + 1; j < N ;j ++) {
int temp = hoursRequired(i , j);
if(attractionsBehind(i, j) == 0) {
adj[i].push_back({j, temp});
adj[j].push_back({i , temp});
}
}
}
for(int i = 0 ;i < N ;i++) {
dfs(i , -1, INT_MAX);
if(valid) {
break;
}
}
return v;
}
# | 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... |