jjh5025d   1년 전

실수형 변수로 받아서 작동이 안되는 것은 아닌 것 같습니다. 작동은 되는데 여러 데이터를 넣어 봐도 반례를 못 찾겠습니다. 

wizardrabbit   1년 전

안녕하세요? 반례 드립니다:

입력:
500 1 1000 10

정답:
1

출력:
10

반례에서 현수의 x 좌표와 직사각형의 가로의 길이를 보시면 아시겠지만, 매우 값이 크기 때문에 현수가 직사각형을 탈출하기 위해서는 세로로 이동해야 할 것입니다.

현수가 위치한 y 좌표는 1이므로 y 좌표가 0인 곳으로 1만큼 이동했을 때가 가장 가까운 거리가 됩니다. 하지만 작성하신 코드는 10을 출력합니다.

▶ y좌표를 통한 가장 가까운 거리를 구하는 부분의 코드를 다시 디버깅 해 보신다면, 틀린 부분을 찾으실 수 있을 것이라 봅니다!

shs0911   1년 전

w가 홀수로 주어지고 x가 w/2값으로 주어졌다고 하면 사실 정답은 x이지만 8번줄에 의해 w-x가 변수에 저장됩니다.

예) w = 99, x = 49. 최솟값은 49지만 8번째줄에 의해 49는 99/2와 같으므로 w-x인 50이 최솟값으로 저장됩니다.

이는 h와 y에도 똑같이 적용됩니다.


jjh5025d   1년 전

답변들 감사합니다. 먼저, w에 99를 입력하는 것과 같이 w에 홀수를 입력할 때, 나타나는 오류를 없애기 위해서 실수형 변수로 받았습니다. 따라서 49와 99/2는 같지 않은 것 같습니다. 일례로 49 50 99 100을 입력하면 49가 출력 됩니다.

다음으로 12째 줄에 y값이 b에 입력되어야 하는데 h값을 입력하여 오류가 발생한 것 같습니다 반례를 들어 생각할 수 있게 해주신 점 감사합니다.

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