Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
Tags
- TEST
- boj
- GitHub
- 쿠링
- pandas
- Codeforces
- activity
- 코드포스
- Kotlin
- Compose
- 코루틴
- architecture
- ProGuard
- textfield
- Gradle
- Python
- MiTweet
- 암호학
- Coroutines
- 프로그래머스
- AWS
- 백준
- MyVoca
- Coroutine
- Rxjava
- relay
- android
- androidStudio
- livedata
- Hilt
Archives
- Today
- Total
이동식 저장소
11562. 백양로 브레이크 본문
11562번: 백양로 브레이크
서울 소재 Y모 대학교에서 대규모 공사를 진행하면서, 학교가 마치 미로처럼 변해버리고 말았다. 공사 이전까지는 어떤 건물에서 출발하더라도 다른 모든 건물로 갈 수 있는 길이 있었으나, 공
www.acmicpc.net
원래 건물을 잇는 모든 길은 양방향이었는데, 공사 때문에 몇몇 길이 일방통행으로 바뀌어 버렸다. 이제 두 건물 사이를 오가려면 일방통행 길을 최소한 몇 개나 양방향으로 바꿔야 하는지 알아보자.
흠.. 그런데 쿼리가 최대 3만 개 주어진다. 매번 길을 탐색하면 시간 초과가 날 것 같다. 따라서 모든 $s,~e$ 쌍에 대해 정답을 미리 구해 놓아야 한다.
풀이
다익스트라 또는 플로이드 와샬 알고리즘으로 풀 수 있다. 두 방법 모두 주어지는 단방향 간선 $u,~v$에 대해 $v$에서 $u$로 가는 간선의 cost를 1로 놓고 거리를 계산하면 된다. 당연히 양방향 간선의 cost는 0이다.
플로이드 와샬을 적용하려면 간선이 주어지지 않은 정점 쌍의 거리를 매우 큰 값으로 놓고 계산하면 된다.

'Problem Solving > BOJ' 카테고리의 다른 글
| 1311. 할 일 정하기 1 (1) | 2022.10.20 |
|---|---|
| 10999. 구간 합 구하기 2 (0) | 2022.10.11 |
| 2248. 이진수 찾기 (0) | 2022.09.18 |
| 17401. 일하는 세포 (0) | 2022.09.03 |
| 1715. 카드 정렬하기 (0) | 2022.08.31 |
Comments