본문 바로가기
Algorithm/BOJ

[BOJ]2668번: 숫자고르기

by BAYABA 2020. 6. 26.

 

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


유형 태그가 다양한 걸 보니 푸는 방법은 다양한 것 같습니다만,

싸이클 찾기 문제로 해결했습니다.

 

N = 100이니 직접 하나씩 뽑아보면서 탐색하면 터지는 건 자명합니다.

 

문제 예제를 보면 표에서 첫번째 줄에 5번 칸이  -> 5로 가는 걸 볼 수 있습니다.

이걸 보고 자기 자신의 숫자를 가지는 애들이 정답 갯수에 포함된다면,

정답으로 뽑히는 애들은 싸이클 성질을 가지고 있다는 걸 알았습니다.

 

즉, 이 문제는 가장 큰 싸이클을 구하는 문제입니다.

싸이클을 찾는 방법은 위상정렬을 통해 해결하였습니다.


코드: https://github.com/cottory/algorithm/blob/master/BOJ/BOJ2668.cc

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

[BOJ]14501번: 퇴사  (0) 2020.07.02
[BOJ]1411번: 비슷한 단어  (0) 2020.07.01
[BOJ]13549번: 숨바꼭질 3  (0) 2020.06.20
[BOJ]12837번: 가계부 (Hard)  (0) 2020.06.17
[BOJ]1654번: 랜선 자르기  (0) 2020.06.09