본문 바로가기
PS(Problem Solving)/백준_BOJ

[백준] 1766번 - 문제집 (C++) 문제 및 풀이

by 초코칩프라푸치노 2021. 12. 13.

문제) 백준 - 위상 정렬 - 문제집

https://www.acmicpc.net/problem/1766

 

1766번: 문제집

첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주

www.acmicpc.net

 

문제를 세 개의 조건에 맞게 출력하는 문제였습니다.

 

조건 2(먼저 푸는 것이 좋은 문제가 있는 문제는, 먼저 푸는 것이 좋은 문제를 반드시 먼저 풀어야 한다)를 통해 위상 정렬을 사용해야됨을 알 수 있습니다.

조건 3(가능하면 쉬운 문제부터 풀어야 한다)을 통해 위상 정렬 Queue 내부에서 정렬이 필요함을 알 수 있는데 이 정렬을 Priority Queue를 통해 해결할 수 있습니다.

 

C++ 소스코드)

 

Full Code)

https://github.com/Chocochip101/BOJ_Solution/blob/main/Problem%201000~4999/1766_%EB%AC%B8%EC%A0%9C%EC%A7%91.cpp

 

GitHub - Chocochip101/BOJ_Solution: BOJ Solutions

BOJ Solutions. Contribute to Chocochip101/BOJ_Solution development by creating an account on GitHub.

github.com

 

반응형

댓글