# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1065614 | 2024-08-19T10:01:43 Z | ReLice | 가장 긴 여행 (IOI23_longesttrip) | C++17 | 0 ms | 0 KB |
#include "longesttrip.h" #include <bits/stdc++.h> #define ll int #define pb push_back #define ins insert #define fr first #define sc second #define vll vector<ll> #define sz size() using namespace std; const ll N = 260; const ll inf = 1e9 + 7; ll g[N][N]; bool vis[N]; vector<int> longest_trip(int nn, int D){ ll i,j; n=nn; for(i=0;i<n;i++){ for(j=0;j<n;j++) g[i][j] = 0; vis[i] = 0; } for(i=0;i<n;i++){ for(j=i+1;j<n;j++){ if(are_connected({i},{j})){ g[i][j] = g[j][i] = 1; } } } deque<ll> v; v.pb(0); for(i=0;i<n;i++){ if(g[0][i]){v.pb(i);break;} } for(i=0;i<n;i++){ if(vis[i])continue; if(g[v[0]][i]) v.pf(i); else if(g[v.bc][i]) v.pb(i); } vll ans; for(auto i : v) ans.pb(i); return ans; }