초보개발자

[ORDERING] 할 일 순서 정하기 본문

알고리즘/문제해결 소스코드

[ORDERING] 할 일 순서 정하기

___yejin 2017. 4. 6. 20:54
  • 분류: 구현, 그래프
  • 입력: 테스트 케이스 C(<=50), 작업의 개수 N(1<=N<=26), 의존 관계의 수 M(1<=M<=100), 각 작업은 알파벳 대문자 A 이후 글자 표현 (예를 들어 AB형태로 주어지면 A->B 작업이 이루어줘야한다.)
  • 출력: 작업을 수행할 수 있는 순서를 출력. 여러가지가 있다면, 이중 사전 순으로 가장 앞에 있는 것을 출력
  • 소스코드


  • 소스설명: 
  • topological(int n): 위상정렬을 이용한 구현이다. 사전 순으로 나와야 하므로 priority queue를 사용하며, greater로 오름차순으로 출력이 된다. 모든 상황은 성립이 되므로 종료조건은 priority queue가 비어 있으면 종료된다.

  • 참고문제: https://algospot.com/judge/problem/read/ORDERING#


'알고리즘 > 문제해결 소스코드' 카테고리의 다른 글

[2178] 미로 탐색  (0) 2017.07.20
[FENCE] 울타리 잘라내기  (0) 2017.07.04
[LAN] 근거리 네트워크  (0) 2017.03.02
[TRAVERSAL] 트리 순회 순서 변경  (0) 2017.02.21
[QUADTREE] 쿼드 트리 뒤집기  (0) 2016.05.20
Comments