h575h   5년 전

소스코드에 dfs_all() 함수 부분의 주석 처리된 부분이 그래프가 DAG인지 아닌지를 검사하는 부분인데요,

이 부분 때문에 시간 초과가 나지만 문제의 조건에 모순이 되면(DAG가 아니면) 어떡하라는 조건이 없기 때문에 

모든 입력이 DAG일 것이므로 주석부분이 없어도 정답이 됩니다.

실제로 시간 초과가 나지 않게 DAG 검사를 하려면 어떻게 짜야할까요.....?

Green55   5년 전

DFS를 하면서 사이클을 탐지하는 방법이 있습니다.

위의 코드에서, DFS(i)라는 함수가 끝나기 전에 경로를 타고 i를 한번 더 방문 할 수 있다면 사이클이 있다는 뜻입니다.

h575h   5년 전

해결했습니다 감사합니다!

댓글을 작성하려면 로그인해야 합니다.