제출 #1220558

#제출 시각아이디문제언어결과실행 시간메모리
1220558lukasuliashviliEaster Eggs (info1cup17_eastereggs)C++20
100 / 100
8 ms508 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; const int N=540; int fix[N]; vector<int> vec[N],ans,junk; vector<int> ask(int r){ vector<int> some; for(int i=0; i<=r; i++){ some.push_back(ans[i]); } return some; } void dfs(int node, int par){ fix[node]=1; ans.push_back(node); for(auto to : vec[node]){ if(to==par) continue; dfs(to,node); } } int findEgg(int N, vector<pair<int,int>> bridges){ ans.clear(); for(int i=0; i<=N; i++){ vec[i].clear(); fix[i] = 0; } for(int i=0; i<bridges.size(); i++){ int u=bridges[i].first; int v=bridges[i].second; vec[u].push_back(v); vec[v].push_back(u); } dfs(1,0); int l=0; int pas=N-1; int r=N-2; while(l<=r){ int mid=(l+r)/2; vector<int> que=ask(mid); int egg=query(que); if(egg==1){ r=mid-1; pas=mid; } else{ l=mid+1; } } return ans[pas]; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...