Submission #1014295

#TimeUsernameProblemLanguageResultExecution timeMemory
1014295JakobZorz가장 긴 여행 (IOI23_longesttrip)C++17
60 / 100
247 ms600 KiB
#include"longesttrip.h" #include<iostream> using namespace std; int n; vector<int>longest_trip(int N,int D){ n=N; vector<int>res={0}; vector<bool>vis(n); vis[0]=true; while(true){ int node=res.back(); //cout<<"VIS "<<node<<"\n"; for(int ne=0;ne<n;ne++){ if(!vis[ne]&&are_connected({node},{ne})){ res.push_back(ne); break; } } vis[res.back()]=true; if(node==res.back()) break; } vector<int>res2; for(int j=0;j<n;j++) if(!vis[j]) res2.push_back(j); // all unvisited are strongly connected if(res2.size()){ for(int i=0;i<(int)res.size();i++){ if(are_connected(res2,{res[i]})){ for(int ne=0;ne<n;ne++){ if(!vis[ne]&&are_connected({ne},{res[i]})){ vector<int>res2; for(int j=0;j<n;j++) if(!vis[j]&&j!=ne) res2.push_back(j); res2.push_back(ne); for(int j=i;j<(int)res.size();j++) res2.push_back(res[j]); for(int j=0;j<i;j++) res2.push_back(res[j]); /*cout<<"ARR1 "; for(int i:res2) cout<<i<<" "; cout<<"\n";*/ return res2; } } } } } if(res.size()>res2.size()){ /*cout<<"ARR2 "; for(int i:res) cout<<i<<" "; cout<<"\n";*/ return res; }else{ /*cout<<"ARR3 "; for(int i:res2) cout<<i<<" "; cout<<"\n";*/ return res2; } }
#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...