pswcsj   1년 전

이런 알고리즘으로 코드를 짜면 정답이 나오는데 l=5, p=11, v=21인 경우 코드에 입력하면 10이 나옵니다. 그런데 제가 생각해보면 처음에 5만큼, 그 다음 11일 중 5, 그리고 나머지 5일 중 5일을 선택하면 총 15일이 나오는데 제 계산이 틀린 건가요?

wizardrabbit   1년 전

안녕하세요? 문제에서 의미하는 연속한 P일 중 L일만큼만 캠핑장을 사용할 수 있다는 것은, V일짜리 휴가 중에서 임의의 연속한 P일을 고르더라도 캠핑장을 사용하는 기간이 L일을 넘지 않는다는 뜻입니다.

preview

↑ 질문자님께서 말씀하신 조건대로라면 10일이 캠핑장을 사용할 수 있는 최대 기간이 맞습니다.

preview

↑ 11일이 가능하다고 가정하고, 캠핑장을 사용하는 날을 전체 휴가의 가운데에 하나 끼워넣었습니다만, 빨간 구간(문제에서 말하는 연속한 P일) 을 골랐을 때, 캠핑장을 사용하는 날이 5일을 초과하는 경우가 생깁니다. 따라서 위 두 가지는 모두 불가능한 경우입니다. 캠핑장을 사용하는 날을 어떻게 조정하더라도 임의의 빨간 구간(P일)에서 캠핑장을 사용하는 날이 5일을 초과하는 경우가 생겨 불가능합니다.

preview

↑ 즉, 정리하자면 그림과 같이 연속하는 P일을 선택하는 경우를 모두 고려했을 때 빨간 구간 중 단 한 가지라도 캠핑장을 사용하는 날이 L일을 넘기는 경우가 있어서는 안 된다는 것입니다. 질문자님께서 말씀하신 15일의 경우에 이 빨간 구간을 떠올리면서 하나하나 대입해 보세요. 분명 불가능하다는 것을 아시게 될 것입니다.

문제 이해에 도움이 되었기를 바랍니다!

pswcsj   1년 전

와... 그림까지 그려주시고 친절한 설명 진심으로 감사드립니다!! 완전 해결 됐습니다

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