답안 #45554

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
45554 2018-04-15T10:53:27 Z aome Easter Eggs (info1cup17_eastereggs) C++17
100 / 100
21 ms 548 KB
#include <bits/stdc++.h>
#include "grader.h"

using namespace std;

const int N = 555;

int T;
int arr[N];
vector<int> G[N];

void dfs(int u, int p) {
	arr[++T] = u;
	for (auto v : G[u]) {
		if (v == p) continue; dfs(v, u);
	}
}

int findEgg(int n, vector < pair <int, int> > bridges) {
	T = 0;
	for (int i = 1; i <= n; ++i) G[i].clear();
	for (int i = 0; i < (n - 1); ++i) {
		G[bridges[i].first].push_back(bridges[i].second);
		G[bridges[i].second].push_back(bridges[i].first);
	}
	dfs(1, 1);
	int l = 1, r = n;
	while (l < r) {
		int mid = (l + r) >> 1;
		vector<int> ask;
		for (int i = 1; i <= mid; ++i) ask.push_back(arr[i]);
		if (query(ask)) r = mid; else l = mid + 1;
	}
	return arr[l];
}

Compilation message

eastereggs.cpp: In function 'void dfs(int, int)':
eastereggs.cpp:15:3: warning: this 'if' clause does not guard... [-Wmisleading-indentation]
   if (v == p) continue; dfs(v, u);
   ^~
eastereggs.cpp:15:25: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'if'
   if (v == p) continue; dfs(v, u);
                         ^~~
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 248 KB Number of queries: 4
2 Correct 2 ms 436 KB Number of queries: 4
3 Correct 2 ms 488 KB Number of queries: 4
4 Correct 2 ms 488 KB Number of queries: 4
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 488 KB Number of queries: 8
2 Correct 13 ms 548 KB Number of queries: 9
3 Correct 19 ms 548 KB Number of queries: 9
4 Correct 21 ms 548 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Correct 19 ms 548 KB Number of queries: 9
2 Correct 16 ms 548 KB Number of queries: 9
3 Correct 17 ms 548 KB Number of queries: 9
4 Correct 19 ms 548 KB Number of queries: 9