zpapl   4년 전

각 건물을 짓는 최소시간을 구하는 문제인데, 각 건물을 짓는 최소시간은 단순하게 생각했을 때

각 건물을 지을 수 있기 위해서는 선수건물(?)이 필요하기 때문에

위상정렬을 했습니다.

그래서 선수건물들을 짓는 시간 + 건물 시간으로 갑을 구했는데 7%쯤에서 틀립니다.

예외가 무엇이 있을가요??

djm03178   4년 전

코드를 안 보여주시면 아무도 모릅니다.

zpapl   4년 전

수정했습니다(코드 첨부)

djm03178   4년 전

위상 정렬만 해서 전부 더하면 끝이 아닙니다. 종속성이 없는 건물끼리는 동시에 짓고 있을 수도 있습니다.

예를 들어, 2번과 3번 전에 1번을 지어야 하고, 4번 전에 2번과 3번을 지어야 한다면, 2와 3은 동시에 지어질 수 있습니다.

4

1 -1
1 1 -1
1 1 -1
1 2 3 -1

답은 1 2 2 3이 나와야 하는데, 1 2 2 4가 출력됩니다.

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