#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first
#define b second
#include "grader.h"
using namespace std;
vector<int> adj[520];
vector<int> ord;
void dfs(int no,int par=-1){
ord.pb(no);
for(auto j:adj[no]){
if(j!=par){
dfs(j,no);
}
}
}
bool ask(int i){
vector<int> kk;
for(int j=0;j<=i;j++){
kk.pb(ord[j]+1);
}
return query(kk);
}
int findEgg (int n, vector <pair <int,int>> ed){
for(int i=0;i<n;i++){
adj[i].clear();
}
for(auto j:ed){
adj[j.a-1].pb(j.b-1);
adj[j.b-1].pb(j.a-1);
}
dfs(0);
// cout<<11<<endl;
int ind=-1;
for(int i=8;i>=0;i--){
if(ind+(1<<i)>=(n)){
continue;
}
if(!ask(ind+(1<<i))){
ind+=(1<<i);
}
}
// cout<<ans<<endl;
return ord[ind+1]+1;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
384 KB |
Number of queries: 5 |
2 |
Partially correct |
1 ms |
384 KB |
Number of queries: 5 |
3 |
Partially correct |
1 ms |
384 KB |
Number of queries: 5 |
4 |
Partially correct |
1 ms |
256 KB |
Number of queries: 5 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
8 ms |
384 KB |
Number of queries: 9 |
2 |
Correct |
14 ms |
512 KB |
Number of queries: 9 |
3 |
Correct |
21 ms |
632 KB |
Number of queries: 9 |
4 |
Correct |
25 ms |
632 KB |
Number of queries: 9 |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
23 ms |
632 KB |
Number of queries: 9 |
2 |
Correct |
19 ms |
640 KB |
Number of queries: 9 |
3 |
Correct |
21 ms |
632 KB |
Number of queries: 9 |
4 |
Correct |
18 ms |
632 KB |
Number of queries: 9 |