315a   3년 전

자를 수 있는 최대 길이(max)를 1_000_000_000으로 정하고 최소 길이(min)을 0으로 정한 후

현재 자르는 높이를 (max + min) / 2로 정하며,

 잘라진 나무의 길이가 충분하지 않다면 max를 2로 나누고

잘라진 나무의 길이가 너무 많다면 min을 현재 자르는 높이로 설정하여 위를 반복하는 알고리즘을 이용했습니다.

예제와 질문 게시판에 있는 반례는 모두 시도해 봤는데 코드의 오류를 찾지 못하겠습니다...

제 코드가 너무 느리게 동작하는 거라면 개선방법을, 특정 값을 넣었을 때 무한루프가 발생한다면 그 값을 찾아주시면 감사하겠습니다.

+ 수정 : 현재 절단기 높이와 최소 절단기 높이가 같은 경우 현재 높이를 리턴하도록 수정했습니다.

kangwlgns   3년 전

아무거나 넣었을 때 터지긴 합니다.

315a   3년 전

윗분 말씀을 토대로 수정했는데 여전히 시간초과가 뜨네요.
뭐가 문제일까요...

(수정한 소스는 질문에 있습니다)

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