피보나치 치킨
면접 대비시간 제한1초메모리 제한128 MB
N을 피보나치 수 쌍 (사람 수, 치킨 수)으로 분할해 사람 수 합이 N이 되게 할 때, 받을 수 있는 치킨 수의 최솟값과 최댓값을 구한다.
문제
카이스트 주변에서 시켜 먹는 배달 음식은 대부분 치킨이다. 치킨집이 이미 포화 상태인데도 지훈이는 학교 근처에 치킨집을 새로 열었고, 생각보다 장사가 잘 되었다.
비결은 주문 방식이다. 지훈이네 메뉴는 도깨비오븐구이 하나뿐이라서 치킨을 먹을 사람 수만 말하면 그 인원에 맞춰 치킨이 배달된다.
배달할 치킨 마리 수는 다음과 같이 정한다.
- 피보나치 수열에서 이웃한 두 수를 골라 세트를 만든다. 2인 1닭, 3인 2닭, 5인 3닭, 8인 5닭, 13인 8닭처럼 이어지며, 사람 수는 항상 닭 수보다 커야 한다.
- 세트를 골라 사람 수의 합이 정확히 이 되도록 맞춘다. 같은 세트를 여러 번 골라도 된다.
- 2번에서 고른 세트를 모두 배달한다.
단골인 태영이는 명분을 주문했을 때 치킨이 몇 마리까지 올 수 있는지 궁금해졌다. 같은 인분이라도 세트 구성에 따라 마리 수가 달라지기 때문이다. 이 6이면 2인 1닭 세트 3개를 받아 3마리를 받을 수도 있고, 3인 2닭 세트 2개를 받아 4마리를 받을 수도 있다.
이 주어졌을 때 배달되는 치킨 수의 최솟값과 최댓값을 구하라.
입력
첫째 줄에 사람의 수 이 주어진다. ()
출력
배달되는 치킨 수의 최솟값과 최댓값을 공백으로 구분해 한 줄에 출력한다.