gktgnjftm   6년 전

이유를 모르겠는데 왜 틀린지 잘 모르겠어용 도와주십쇼 행님들

djm03178   6년 전

왜 idx를 전체 인덱스의 최소로 구하고 그곳의 make의 dp[w]를 더하는지 이해가 되지 않습니다.

1

3 2

1 2 1

1 3

2 3

3

답은 3인데 2가 출력됩니다. 2 + 1을 해야 하는데, 1 + 1이 되었네요.

gktgnjftm   6년 전

답 3 나오는데.. 

캡처.PNG그 저는 indegree가 0인곳을 전부 push하면 indegree가 0인곳을 시간을 더해줘야 하는데 그걸 더해주지못해서 더해주려고 썼습니다 근데 다시한번생각해보겠습니당 ㅠㅠ

gktgnjftm   6년 전

해결했습니다 ㅠㅠ 실수가있었어용 감사합니당

djm03178   6년 전

올리신 코드와 다르게 해서 테스트하셨나 봅니다.

https://ideone.com/CQXECS

gktgnjftm   6년 전

오 그런가보네요 전 그냥 비쥬얼스튜디오 2015에서 release해서 나온거인데 신기하네용

djm03178   6년 전

저도 VS 2017 쓰고요, 제가 보기엔 컴파일러마다 다르게 나올 부분은 아닌 것 같네요.

여기에 올리신 코드랑 한 자도 다름없이 똑같은 코드로 테스트하신 게 맞나요?

djm03178   6년 전

왜냐하면 코드 논리를 분석해봤을 때, 저 케이스에서 1과 2는 모두 indegree가 0이지만, 52번째 줄에서 번호가 더 작은 1을 idx로 지정할 거고, make[1]은 1이고 dp[1]과 dp[2]는 0이고 bfs의 결과로 dp[3]은 0 + 1 = 1이 될 테니, 둘을 더하면 2가 나올 수밖에 없거든요.

gktgnjftm   6년 전

아 2나오네요 죄송합니다 ㅠㅠ 헷갈렸나봐용

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