n이 10만이니깐 2^m >= n 을 만족하는 m으로 했을 것 같아요.
9466번 - 텀 프로젝트
n이 10만이니깐 2^m >= n 을 만족하는 m으로 했을 것 같아요.
그러니깐 m 번 전진하는게 아니라 2^m 번 전진하는 소스인거죠
https://www.acmicpc.net/problem/3117
이 문제 한번 풀어보세요.
편의상 a[ i ][ j ] 를 i번째 iteration에서 j번 노드가 가리키고 있는 노드라고 할게요.
자세히 보시면 for 루프는
a[ i+1 ][ j ] = a[ i ][ a[ i ][ j ] ]
이런 식으로 동작합니다.
이 과정에서 a[ i ][ j ] 는 j 에서 2^i 번 전진 했을 때 도착하는 노드가 됩니다.
댓글을 작성하려면 로그인해야 합니다.
wooljs 7년 전
cubelover
라는 분의 소스를 봤는데요.
list를 계속 iteration을 돌리면서, cycle을 돌지 않는 노드들은 가리키는 노드들로 수렴하도록 만드는 코드를 짜셨더라고여.
그런데 iteration의 수를 18번으로 특정하셨던데, 이건 trial and error로 찾은 것일까요?
무척 신기해서 오랫동안 들여다봤습니다.
--추가
cycle의 최대 노드수가 아니고 depth 겠군요.