답안 #990292

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
990292 2024-05-30T06:14:16 Z xnqs Easter Eggs (info1cup17_eastereggs) C++17
100 / 100
14 ms 592 KB
// omfg why would you use namespace std in a header file like are you ok?????????
// bro why the fuck are you segfaultingggg

#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
//#include "grader.h"

int findEgg(int n, std::vector<std::pair<int,int>> bridges);
int query(std::vector<int> islands);

void dfs(int k, int p, const std::vector<int>* adj_list, std::vector<int>& tour) {
	tour.emplace_back(k);
	for (const auto& i : adj_list[k]) {
		if (i!=p) {
			dfs(i,k,adj_list,tour);
		}
	}
}

int findEgg(int n, std::vector<std::pair<int,int>> bridges) {
	// these testcases are actually fucking retarded, nodes can go above n, like that makes no sense and it's not mentioned in the statement
	// bs problem, average info1cup experience
	std::vector<int> adj_list[513];
	std::vector<int> tour;
	int gs = n;
	for (int i = 0; i < 513; i++) {
		adj_list[i].clear();
	}
	tour.clear();
	for (const auto& [a, b] : bridges) {
		adj_list[a].emplace_back(b);
		adj_list[b].emplace_back(a);
	}
		
	dfs(1,0,adj_list,tour);

	int l = 0, r = tour.size()-1;
	int ret = 0;
	while (l!=r) {
		int m = (l+r+1)/2;
		if (query(std::vector<int>(tour.begin(),tour.begin()+m))) {
			r = m-1;
		}
		else {
			l = m;
		}
	}

	ret = tour[l];
	return ret;
}

Compilation message

eastereggs.cpp: In function 'int findEgg(int, std::vector<std::pair<int, int> >)':
eastereggs.cpp:29:6: warning: unused variable 'gs' [-Wunused-variable]
   29 |  int gs = n;
      |      ^~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Number of queries: 4
2 Correct 1 ms 344 KB Number of queries: 4
3 Correct 1 ms 344 KB Number of queries: 4
4 Correct 1 ms 344 KB Number of queries: 4
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 476 KB Number of queries: 8
2 Correct 7 ms 344 KB Number of queries: 9
3 Correct 11 ms 496 KB Number of queries: 9
4 Correct 9 ms 344 KB Number of queries: 9
# 결과 실행 시간 메모리 Grader output
1 Correct 14 ms 592 KB Number of queries: 9
2 Correct 13 ms 488 KB Number of queries: 9
3 Correct 12 ms 344 KB Number of queries: 9
4 Correct 11 ms 344 KB Number of queries: 9