본문 바로가기
Algorithm/BOJ

[BOJ]2458번: 키 순서

by BAYABA 2022. 3. 23.

문제: https://www.acmicpc.net/problem/2458


모든 학생들 간의 관계 (모든 노드간의 순서쌍)을 구하는 문제이므로 플로이드로 해결할 수 있는 문제입니다.

N 제한이 작아 N^3을 돌려도 해결할 수 있다는 점을 단서로 삼을 수 있습니다.

 

학생들간의 키 관계를 담은 3차원 배열 int[][][] dist를 선언하였고 정보를 담아줍니다.

dist[0][a][b] = 1이 의미하는 바는 a가 b보다 작은 경우입니다.

dist[1][a][b] = 1이 의미하는 바는 a가 b보다 큰 경우입니다.

 

그래서 플로이드쌍을 전부 갱신해준 뒤 dist[0][][], dist[1][][]를 순회해서 비교 횟수가 N-1인 학생인 자신의 키 순서를 알 수 있습니다.


코드: https://github.com/cotchan/algorithm/blob/main/BOJ/BOJ2458.java

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ]9370번: 미확인 도착지  (0) 2022.03.24
[BOJ]1719번: 택배  (0) 2022.03.23
[BOJ]10282번: 해킹  (0) 2022.03.22
[BOJ]14567번: 선수과목 (Prerequisite)  (0) 2022.03.22
[BOJ]2665번: 미로만들기  (0) 2022.03.22