#include "bits/stdc++.h"
#include "fun.h"
// #include "grader.cpp"
using namespace std;
const int N1 = 1e3 + 5;
int dis[N1][N1], n;
vector <int> v, ans;
void f(int x, int k, int mask) {
v.push_back(x);
if(mask == (1<<n)-1) {
ans = v;
}
for(int i = 0; i < n; i++) {
if(!(mask & (1<<i)) and dis[x][i] <= k) {
f(i, dis[x][i], mask | (1<<i));
}
}
v.pop_back();
}
vector<int> createFunTour(int N, int q) {
n = N;
// int H = hoursRequired(0, N - 1);
// int A = attractionsBehind(0, N - 1);
for(int i = 0; i < n; i++) {
for(int j = i+1; j < n; j++) {
dis[i][j] = dis[j][i] = hoursRequired(i, j);
// if(dis[i][j] == 1) v[i].push_back(j), v[j].push_back(i);
}
}
for(int i = 0; i < n; i++) {
f(i, n, 1<<i);
if((int)ans.size()) {
return ans;
}
}
return {-1};
// return vector<int>(n, 0);
}
# | 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... |