tlsdydaud1   3년 전

"상근이와 친구들"

→ 사소해 보일 수도 있는 부분이지만, 맥주 한 병을 몇 사람이 나눠서 마시는지에 대한 논란이 생길 수 있으므로 굳이 친구들이라는 표현을 넣을 필요가 없다고 생각합니다.

"50미터에 한 병씩 마시려고 한다." / "빈 병은 버리고 새 맥주 병을 살 수 있다." / "중간에 맥주가 바닥나면"

→ 두 번째 표현으로 짐작해 볼 때 맥주가 일부만 남은 병이 생기는 상황은 발생하지 않는다고 가정할 수 있게 됩니다. (만약 그게 아니라면 두 번째 표현은 "가득 차지 않은 병은 버리고 새 맥주 병을 살 수 있다." 등으로 바꿔야 합니다.) 이때 문제가 되는 것은 언제 맥주가 바닥나는지에 대한 부분인데, 두 가지 경우로 나눠서 생각해 볼 수 있지만 두 경우 모두 문제가 있는 것은 마찬가지입니다.

일단 이런 문제가 발생하는 이유는 더이상 남은 맥주가 없어도, 문제 설명대로라면 다음 맥주를 마시기 전까지 이동하는 것은 문제 설명에 어긋나지 않기 때문입니다. 예를 들어 두 편의점 X, Y가 1050미터 떨어져 있을 때 X 편의점에서 맥주 20병을 채우고 50미터를 이동할 때마다 1병씩 마시면 1000미터를 이동했을 때 맥주 20명을 모두 마시게 되고 거기서 50미터를 더 이동해서 편의점 Y에 도착하는 시점이 맥주를 마셔야 하는 시점이 됩니다. 이때 맥주 20병을 새로 사서 한 병을 마시고 한 병을 다시 사서 20병을 채워도 문제 설명에 어긋나는 부분이 없습니다. 따라서,

A. 상자에 남은 맥주가 없게 되는 시점이 맥주가 바닥나는 시점이라고 한다면 현재 문제 설명상으로는 맥주가 중간에 바닥나지만 행복하게 페스티벌에 도착하는 경우가 생기게 됩니다.

B. 상자에 남은 맥주가 없는 상황에서 맥주를 마셔야 하는 시점이 맥주가 바닥나는 시점이라고 한다면 테스트케이스가 틀렸습니다. 현재 테스트케이스는 두 지점 사이의 맨해튼 거리가 1000 이하인 경우만 이동할 수 있는 것으로 간주하여 답을 내고 있습니다.

저런 문제를 피하기 위해 1미터를 이동해도 맥주 한 병을 마셔야 한다고 가정하더라도, 이번에는 첫 번째 표현이 모호해지기 때문에 소용이 없습니다.

startlink   3년 전

무엇을 어떻게 바꾸면 좋은지 적어주세요.

tlsdydaud1   3년 전

일단은 문제 설명 중 이 부분을 이렇게 바꾸면 될 것 같습니다.

"목이 마르면 안되기 때문에 50미터에 한 병씩 마시려고 한다."

-> "목이 마르면 안 되기 때문에 50미터를 이동할 때마다 한 병씩 마시려고 한다. (50미터를 이동한 후 한 병을 마시고, 또 50미터를 이동한 후 한 병을 마시는 것이다.)"

"빈 병은 버리고 새 맥주 병을 살 수 있다."

-> "빈 병은 버리고 새 맥주 병을 살 수 있다. 하지만 새로 산 맥주를 편의점에서 바로 마실 수는 없다."

이러면 "중간에 맥주가 바닥나면"은 안 바꿔도 되겠네요.

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