문제 링크
- http://icpc.me/3665
문제 출처
- 2010 NWERC E번
사용 알고리즘
- 위상정렬
풀이
먼저, 당연하게도 ?가 출력될 일은 없습니다.
첫 번째 대회의 등수가 주어지면 O(N2)으로 g[i][j] 배열을 채워줍시다. g[i][j] = 1이면 i보다 j가 뒤에 나오고, 그렇지 않다면 i가 뒤에 나오는 것을 의미합니다.
두 번째 대회에서 역전된 두 사람 a, b가 주어지면 g[a][b]와 g[b][a]를 swap해줍시다.
g배열을 모두 완성했다면 g배열을 이용해 정렬해서 최종 순위를 결정해줍시다. IMPOSSIBLE은 쉽게 처리할 수 있습니다.
전체 코드
1 |
|