| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1349866 | tetosupremacy | Easter Eggs (info1cup17_eastereggs) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
vector<long long>v1[1024];
long long used[1024];
vector<long long>eu;
void DFS(long long beg)
{
used[beg]=1;
long long nb;
eu.push_back(beg);
for(long long i=0;i<v1[beg].size();i++)
{
nb=v1[beg][i];
if(!used[nb])
{
DFS(nb);
}
}
}
long long findEgg (long long N, vector < pair < long long, long long > > bridges)
{
long long n=N;
for(long long i=1;i<=N;i++)v1[i].clear();
eu.clear();
for(long long i=0;i<bridges.size();i++)
{
v1[bridges[i].first].push_back(bridges[i].second);
v1[bridges[i].second].push_back(bridges[i].first);
}
for(long long i=0;i<eu.size();i++)
{
cout<<eu[i]<<' ';
}
long long l=1;
long long r=n;
vector<long long>b1;
vector<long long>b2;
long long mid;
while(l<r)
{
mid=(l+r)/2;
for(long long i=1;i<=mid;i++)
{
b1.push_back(eu[i]);
}
if(query(b1)==true)r=mid;
else l=mid+1;
b1.clear();
}
return eu[r+1];
return 1;
}
