제출 #67630

#제출 시각아이디문제언어결과실행 시간메모리
67630tatatanEaster Eggs (info1cup17_eastereggs)C++11
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
//#include "grader.h"
#define mp make_pair
#define pb push_back
#define pii pair<int,int>
#define LL long long
#define st first
#define nd second
#define endl '\n'
using namespace std;

vector<int> v[512];
int cnt,used[512];

void dfs(int x,int y,int en,vector<int> &add) {

	if(cnt==en)
		return;
	add.pb(x);
	if(!used[x]) ++cnt;
	for(int i=0;i<v[x].size();++i)
		if(v[x][i]!=y)
			dfs(v[x][i],x,en,add);	

}

int findEgg (int n, vector < pair < int, int > > br)
{
    
	memset(used,0,sizeof used);
	for(int i=0;i<n;++i) 
		v[i].clear();
	for(int i=0;i<n;++i) {
		v[br[i].st].pb(br[i].nd);
		v[br[i].nd].pb(br[i].st);
	}
	int left=n;
	while(left!=1) {
		vector<int> add;
		cnt=0;
		dfs(0,-1,left/2,add);
		if(query(add)) {
			left=left/2;
			fill(used,used+n,1);
			for(int i=0;i<add.size();++i)
				used[add[i]]=0;
		}
		else {
			for(int i=0;i<add.size();++i)
				used[add[i]]=1;
			left-=left/2;
		}
	}
	for(int i=0;i<n;++i)
		if(!used[i])
			return i+1;

}

컴파일 시 표준 에러 (stderr) 메시지

eastereggs.cpp: In function 'void dfs(int, int, int, std::vector<int>&)':
eastereggs.cpp:21:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for(int i=0;i<v[x].size();++i)
              ~^~~~~~~~~~~~
eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:42:6: error: 'query' was not declared in this scope
   if(query(add)) {
      ^~~~~
eastereggs.cpp:45:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i=0;i<add.size();++i)
                ~^~~~~~~~~~~
eastereggs.cpp:49:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for(int i=0;i<add.size();++i)
                ~^~~~~~~~~~~
eastereggs.cpp:58:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^