Problem Solving/그래프
BOJ 2526 - 싸이클
Vjerksen
2017. 5. 27. 15:50
문제 링크
https://www.acmicpc.net/problem/2668
문제 해결
1. 다음 정점 = (P로 나눈 나머지) * N % P;
2. 배열을 만들어서 numbering한 값을 넣어준다.
3. 만약 배열의 값이 0이 아니라면 사이클이 생긴 것이므로 그 때의 값과 사이클 시작의 값의 차를 출력한다.
주의할 점 || 생각해볼 점
1. P의 범위가 97 밖에 안되므로 사이클이 생기는 정점은 0 ~ 96 까지다.
2. 한 정점에서 나가는 간선은 무조건 하나라는 사실을 인지하면 더욱 수월하게 해결할 수 있다.
참고
- http://vjerksen.tistory.com/30 (사이클을 DFS로 해결)
※ 정확하고 부드러운 태클은 언제나 환영입니다.