제출 #1069440

#제출 시각아이디문제언어결과실행 시간메모리
1069440pawned즐거운 행로 (APIO20_fun)C++17
26 / 100
21 ms2496 KiB
#pragma GCC optimize("O1,O2,O3,Ofast,unroll-loops") #include <bits/stdc++.h> using namespace std; #define fi first #define se second #define pb push_back typedef long long ll; typedef pair<int, int> ii; typedef vector<int> vi; #include "fun.h" const int MAX = 505; int N; vi adj[MAX]; int dist[MAX][MAX]; vi createFunTour(int N_g, int Q) { N = N_g; for (int i = 0; i < N; i++) { for (int j = 0; j < N; j++) { dist[i][j] = hoursRequired(i, j); if (dist[i][j] == 1) adj[i].pb(j); } } // start with a diameter point int start = -1; int maxd = -1; for (int i = 0; i < N; i++) { if (dist[0][i] > maxd) { start = i; maxd = dist[0][i]; } } vi ans; vector<bool> vis(N, false); vis[start] = true; ans.pb(start); int curr = start; for (int i = 0; i < N - 1; i++) { int nextp = -1; maxd = -1; for (int j = 0; j < N; j++) { if (vis[j]) continue; if (dist[curr][j] > maxd) { nextp = j; maxd = dist[curr][j]; } } curr = nextp; ans.pb(curr); vis[curr] = true; } /* cout<<"ANSWER: "; for (int x : ans) cout<<x<<" "; cout<<endl;*/ return ans; }
#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...