답안 #282157

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
282157 2020-08-24T05:01:03 Z kshitij_sodani Easter Eggs (info1cup17_eastereggs) C++14
100 / 100
25 ms 632 KB
#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-1)){
			continue;
		}
		if(!ask(ind+(1<<i))){
			ind+=(1<<i);
		}
	}



  //  cout<<ans<<endl;
    return ord[ind+1]+1;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Number of queries: 4
2 Correct 1 ms 384 KB Number of queries: 4
3 Correct 1 ms 384 KB Number of queries: 4
4 Correct 1 ms 384 KB Number of queries: 4
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 384 KB Number of queries: 8
2 Correct 15 ms 504 KB Number of queries: 9
3 Correct 21 ms 632 KB Number of queries: 9
4 Correct 19 ms 632 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Correct 25 ms 632 KB Number of queries: 9
2 Correct 17 ms 632 KB Number of queries: 9
3 Correct 17 ms 536 KB Number of queries: 9
4 Correct 20 ms 632 KB Number of queries: 9