exponential_e   2년 전

(혹시나 제가 잘못 생각하였다면, 피드백 부탁드립니다.)

아직 서브태스크만 해결하였고, 제가 제대로 풀고 있는지 모르겠으나, 문제에 대한 의문점이 있어 이렇게 글을 올립니다.

제가 푼 방식은 너비 우선탐색으로 유망한 노드를 찾고 깊이 우선탐색으로 올바른 경로의 비용을 모두 구해서 더한 후 그 중 최댓값을 뽑아내어 총합에서 뺀 결과를 출력하는 방식으로 풀었습니다. (당연스럽게 부분 시간초과가 날 것이라 예상했는데, 틀렸습니다가 떴네요. ㅎㅎ)

어쨌든, 제가 의문점이 생기는 내용으로 돌아가면 우선 두 로봇이 통로 하나를 사이에 두고 양쪽 방에 위치 할 때, 통신이 가능하다고 문제 조건에 적혀있습니다. 그리고 문제 조건에 추가적인 조건은 없으므로 입력 첫째 줄에서 로봇이 처음부터 이동 할 필요가 없는 경우, 즉 'N i i+1' 등으로 입력이 주어진 경우 이동 할 필요가 없으니 출력값은 0이 되어야 하는 것 아닌가요?

실제로 예제 2의 코드를 아래와 같이 변경해서 출력값이 '8'이 나온 제 코드가 42점 처리를 받았습니다. (java 채점번호: 10003790)

9 1 2

1 2 8

2 3 6

2 4 5

2 5 10

9 5 6

6 5 14

6 7 7

8 6 7

서브 태스크에 경우 그에 대한 설명이 따로 없으므로, 이 조건에 대해선 틀렸습니다가 맞는 것 같다는 생각입니다.

그래서 위의 데이터 또는 문제 조건(로봇 둘 중 한대는 적어도 1회 이동을 한다)을 추가 하는 것이 맞지 않을까요? 아니면 제가 잘못 생각 한 부분이 있을까요?

읽어주셔서 감사합니다.

nlkey2022   2년 전

9 1 2

1 2 8

2 3 6

2 4 5

2 5 10

9 5 6

6 5 14

6 7 7

8 6 7


에 대해서는 0출력이 맞는것 같습니다.

문제에서 "서로 통신하기 위해서 이동한 거리의 최솟값"이라고 했으니

꼭 움직일 필요는 없어보입니다.

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