답안 #345995

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
345995 2021-01-08T20:43:54 Z ahmet Easter Eggs (info1cup17_eastereggs) C++14
81 / 100
15 ms 364 KB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
#define ref(a,b,c) for(int (a)=(b);(a)<=(c);++(a))
#define rep(a,b) for(int (a)=0;(a)<(b);++(a))
#define ll long long
#define pb push_back
#define mp make_pair
vector <int> v[550];
vector <int>  euler;
void dfs(int node,int par){
	euler.pb(node);
	for(int i=0;i<v[node].size();++i){
		int nxt=v[node][i];
		if(nxt==par)continue;
		dfs(nxt,node);
		euler.pb(node);
	}
	return;
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
	ref(i,1,N)v[i].clear();
	euler.clear();
	for(int i=0;i<N-1;++i){
		int x=bridges[i].first;
		int y=bridges[i].second;
		v[x].pb(y);
		v[y].pb(x);
	}
	dfs(1,0);
	int l=0,r=euler.size()-1;
	int vis[550];
	vector <int> tmp;
	while(l<r){
		tmp.clear();
		memset(vis,0,sizeof(vis));
		int mid=(l+r)/2;
		for(int i=l;i<=mid;++i){
			if(vis[euler[i]]==0){tmp.pb(euler[i]);vis[euler[i]]=1;}
		}
		if(query(tmp))r=mid;
		else l=mid+1;
	}
	return euler[l];

}

Compilation message

eastereggs.cpp: In function 'void dfs(int, int)':
eastereggs.cpp:13:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |  for(int i=0;i<v[node].size();++i){
      |              ~^~~~~~~~~~~~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:4:28: warning: unnecessary parentheses in declaration of 'i' [-Wparentheses]
    4 | #define ref(a,b,c) for(int (a)=(b);(a)<=(c);++(a))
      |                            ^
eastereggs.cpp:23:2: note: in expansion of macro 'ref'
   23 |  ref(i,1,N)v[i].clear();
      |  ^~~
# 결과 실행 시간 메모리 Grader output
1 Partially correct 2 ms 364 KB Number of queries: 5
2 Partially correct 1 ms 364 KB Number of queries: 5
3 Partially correct 1 ms 364 KB Number of queries: 5
4 Partially correct 1 ms 364 KB Number of queries: 5
# 결과 실행 시간 메모리 Grader output
1 Correct 5 ms 364 KB Number of queries: 9
2 Partially correct 9 ms 364 KB Number of queries: 10
3 Partially correct 10 ms 364 KB Number of queries: 10
4 Partially correct 9 ms 364 KB Number of queries: 10
# 결과 실행 시간 메모리 Grader output
1 Partially correct 15 ms 364 KB Number of queries: 10
2 Partially correct 10 ms 364 KB Number of queries: 10
3 Partially correct 9 ms 364 KB Number of queries: 10
4 Partially correct 12 ms 364 KB Number of queries: 10