제출 #1146011

#제출 시각아이디문제언어결과실행 시간메모리
1146011damyannEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms508 KiB
#include<bits/stdc++.h> #include "grader.h" using namespace std; vector<int>v[515]; vector<int>s; int used[515]; void topSort(int beg) { used[beg]=1; s.push_back(beg); int sz=v[beg].size(); for(int i=0;i<sz;i++) { if(!used[v[beg][i]]) topSort(v[beg][i]); } } int binSearch(int n) { int l=1,r=n,mid; while(l<r) { mid=(l+r)/2; vector<int>h; for(int i=0;i<mid;i++) h.push_back(s[i]); if(query(h)) r=mid; else l=mid+1; } for(int i=1;i<=n;i++) { v[i].clear(); used[i]=0; } s.clear(); return s[l-1]; } int findEgg(int N, vector < pair < int, int > > bridges) { vector<pair<int,int>>f=bridges; for(int i=0;i<f.size();i++) { v[f[i].first].push_back(f[i].second); v[f[i].second].push_back(f[i].first); } topSort(1); /*for(int i=0;i<n;i++) { cout<<s[i]<<" "; }*/ return binSearch(N); } /*int main() { vector<pair<int,int>>brid; int n; cin>>n; pair<int,int>p; for(int i=1;i<n;i++) { //cout<<n<<endl; cin>>p.first>>p.second; brid.push_back(p); //cout<<"kur"<<endl; } findEgg(n,brid); }*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...