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로 해결)





※ 정확하고 부드러운 태클은 언제나 환영입니다.