제출 #1170900

#제출 시각아이디문제언어결과실행 시간메모리
1170900mkolko21Meetings (JOI19_meetings)C++20
0 / 100
27 ms656 KiB
#include <iostream> #include <vector> #include "meetings.h" using namespace std; vector<pair<int,int> > fun(int n, vector<int> tab) { if(tab.size()==0) return {}; vector<vector<int> > pod; vector<int> pom, zap; vector<pair<int,int> > odp, pom2; int i=0; while(tab.size()>0) { pod.push_back({}); pod[i].push_back(tab[0]); for(int a=1; a<tab.size(); a++){ if(Query(n,tab[0],tab[a])==n) pom.push_back(tab[a]); else pod[i].push_back(tab[a]); } tab=pom; pom.clear(); i++; } int p; for(int a=0; a<pod.size(); a++) { p=pod[a][0]; for(int i=1; i<pod[a].size(); i++) if(p!=pod[a][i]) p=Query(n,p,pod[a][i]); odp.push_back({n,p}); zap.push_back(p); } for(int a=0; a<zap.size(); a++) { for(int i=0; i<pod[a].size(); i++) if(pod[a][i]!=zap[a]) pom.push_back(pod[a][i]); pom2=fun(zap[a],pom); for(int i=0; i<pom2.size(); i++) odp.push_back(pom2[i]); pom.clear();pom2.clear(); } return odp; } void Solve(int n) { vector<pair<int,int> > ret; vector<int> p; for(int a=2; a<=n; a++) p.push_back(a); ret=fun(1,p); for(int a=0; a<ret.size(); a++) Bridge(ret[a].first,ret[a].second); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...