jn2244   1년 전

꼭 지나야하는 정점을 x1,x2라고 했을때, 최단 경로가 될수있는 경우는

1. 1 -> x1 -> x2 -> N

    (1 -> x1) + (x1 -> x2) + (x2 -> N)

2. 1 -> x2 -> x1 -> N

    (1 -> x2) + (x2 -> x1) + (x1 -> N)

3. 1 -> N -> x1 -> x2

    (1 -> N) + (N -> x1) + (x1 -> x2)

4. 1 -> N -> x2 -> x1

    (1 -> N) + (N -> x2) + (x2 -> x1)

위 4개 경우중 가장 작은 경로가 정답이라고 생각하고 풀었습니다 ㅠㅠ 게시판에 있는 반례들 대부분 해본거같은데 어떤 부분이 잘못됬을까요?

반례 부탁드립니다

dh0450   1년 전

도착지점이 N 이라 1, 2 번만 가능하지 않을까요? 

옛날에 풀어서 기억이 잘 안나는데, 코드 보니 저 두개만 고려되어 있길래..

jn2244   1년 전

@dh0450

1,2 번의 경우만 된다고 했을때

4 5

1 2 3

1 3 1

1 4 1

2 3 3

3 4 4

2 3

이 경우에 답이 8이라고들 하시는데 

어떻게 8이나오는지 알려주실수 있을까요 ? ㅠㅠ

pill27211   1년 전

"한번 이동했던 간선도 다시 이동할 수 있다."

1 -> 2 (3)

2 -> 3 (3)

3 -> 1 (1)

1 -> 4 (1)

도 가능하고

3 먼저 가도 되겠네요.

pill27211   1년 전

그리고 4나 3의 경우는 옳지 못한 순서 입니다.

N을 마지막으로 방문 해야 해요.

즉,

1 -> X1 -> X2 -> N

이나

1 -> X2 -> X1 -> N

둘 중 하나의 경로로 진행돼야 합니다.

jn2244   1년 전

@pill27211

아 중간에 변수하나를 잘못써서 틀렸었던거 였네요 ㅠㅠ 도와주셔서 감사합니다 소스코드 올렸던건 지우겠습니다 !

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