Recent Posts
Notice
No Rules Rules
슬슬 가지를 먹지 않으면 죽는다 (feat. 백준, 27945번) 본문
728x90
반응형
슬슬 가지를 먹지 않으면 죽는다
https://www.acmicpc.net/problem/27945
// woohyeon.kim
// kim519620.tistory.com
#include <iostream>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
bool visit[100001]{false};
vector<int> check;
vector<pair<int, int>> arr[100001];
priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> q;
int main(){
ios::sync_with_stdio(false), cin.tie(NULL);
register int N, M;
cin >> N >> M;
for(register int m = 0, a, b, c; m < M; ++m){
cin >> a >> b >> c;
arr[a].push_back(make_pair(b, c)), arr[b].push_back(make_pair(a, c));
}
q.push(make_pair(0, 1));
while(!q.empty()){
auto next = q.top().second, cost = q.top().first, nnext = 0; q.pop();
if(visit[next])
continue;
visit[next] = true;
check.push_back(cost);
for(auto& v : arr[next]){
nnext = v.first, cost = v.second;
if(!visit[nnext])
q.push(make_pair(cost, nnext));
}
}
sort(check.begin(), check.end());
auto ans = 0;
for(auto& v : check){
if(ans == v)
++ans;
else
break;
}
cout << ans;
return 0;
}
// *&)*@*
반응형
최소 스패닝 트리를 구하는 문제입니다.
저는 프림 알고리즘을 활용하였습니다.
MST를 만족하는 모든 d일차를 저장하고, 연속되지 않는 일차가 바로 키위새가 쓰러지는 날입니다.
728x90
반응형
'생활 > 코테' 카테고리의 다른 글
핑크 플로이드 (feat. 백준, 6091번) (0) | 2023.05.22 |
---|---|
Parentheses Tree (feat. 백준, 26111번) (0) | 2023.05.19 |
첨탑 밀어서 부수기 (feat. 백준, 28014번) (0) | 2023.05.17 |
미로만들기 (feat. 백준, 2665번) (0) | 2023.04.27 |
크리스마스 선물 (feat. 백준, 14235번) (0) | 2023.04.26 |
Comments