Submission #1226073

#TimeUsernameProblemLanguageResultExecution timeMemory
1226073paskalisapoFun Tour (APIO20_fun)C++20
0 / 100
0 ms324 KiB
#include "fun.h" #include <bits/stdc++.h> #include <vector> using namespace std; stack<int> s; vector<bool> visited; vector<vector<pair<int,int>>> adj; vector<int> v; int n; void dfs(int cur, int mw) { for(auto &x : adj[cur]) { if(visited[x.first] || x.second >= mw) { continue; } dfs(x.first, x.second); visited[x.first] = true; s.push(x.first); } if(s.size() == n) { while(!s.empty()) { v.push_back(s.top()); s.pop(); } return; } else { visited[cur] = false; 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; visited.resize(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 , INT_MAX); } reverse(v.begin(), v.end()); return v; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...