답안 #97636

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
97636 2019-02-17T15:04:27 Z KLPP Easter Eggs (info1cup17_eastereggs) C++14
0 / 100
3 ms 640 KB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;
typedef pair<int,int> pii;
vector<int> nei[512];
pii dist[512];
queue<int> q;
int n;
int lo,hi,mid;
vector<int> v;
int check;
void build(vector < pair < int, int > > bridges){
	check=0;
	for(int i=0;i<n;i++)check+=nei[i].size();
	if(check>0)return;
	for(int i=0;i<bridges.size();i++){
		nei[bridges[i].first-1].push_back(bridges[i].second-1);
		nei[bridges[i].second-1].push_back(bridges[i].first-1);
	}
	for(int i=0;i<n;i++)dist[i].first=-1,dist[i].second=i;
	q.push(0);
	dist[0].first=0;
	while(!q.empty()){
		int u=q.front();q.pop();
		for(int i=0;i<nei[u].size();i++){
			int v=nei[u][i];
			if(dist[v].first==-1){
				dist[v].first=dist[u].first+1;
				q.push(v);
			}
		}
	}
	sort(dist,dist+n);
}
int findEgg (int N, vector < pair < int, int > > bridges)
{
	n=N;
	build(bridges);
	//for(int i=0;i<n;i++)free(nei[i]);
	//for(int i=0;i<n;i++)cout<<dist[i].second<<endl;
	lo=-1;
	hi=n-1;
	while(hi-lo>1){
		mid=(hi+lo)/2;
		//free(v);
		v.clear();
		for(int i=0;i<=mid;i++)v.push_back(dist[i].second+1);
		if(query(v)){
			hi=mid;
		}else lo=mid;
	}
	return hi+1;
}

Compilation message

eastereggs.cpp: In function 'void build(std::vector<std::pair<int, int> >)':
eastereggs.cpp:17:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<bridges.size();i++){
              ~^~~~~~~~~~~~~~~
eastereggs.cpp:26:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i=0;i<nei[u].size();i++){
               ~^~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 512 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 640 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 3 ms 560 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -