제출 #1059689

#제출 시각아이디문제언어결과실행 시간메모리
1059689Huseyn123가장 긴 여행 (IOI23_longesttrip)C++17
40 / 100
10 ms600 KiB
#include "longesttrip.h" #include <bits/stdc++.h> using namespace std; vector<int> longest_trip(int N, int D){ vector<int> res; if(D==3){ for(int i=0;i<N;i++){ res.push_back(i); } } else if(D==2){ set<int> c; for(int i=1;i<N;i++){ c.insert(i); } res.push_back(0); for(int i=0;i<N-1;i++){ auto it=c.begin(); if(are_connected({res.back()},{*it})){ res.push_back(*it); } else{ ++it; if(it==c.end()){ reverse(res.begin(),res.end()); --it; res.push_back(*it); } else{ res.push_back(*it); } } c.erase(*it); } } else{ vector<int> a,b; a.push_back(0); b.push_back(1); for(int i=2;i<N;i++){ if(are_connected({a.back()},{i})){ a.push_back(i); } else if(are_connected({b.back()},{i})){ b.push_back(i); } else{ reverse(b.begin(),b.end()); for(auto x:b){ a.push_back(x); } b.clear(); b.push_back(i); } } if((int)a.size()>(int)b.size()){ res=a; } else{ res=b; } } return res; }
#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...