바이러스 확산

여러 시간 값을 -1이 나올 때까지 읽고, 각 값 X에 대해 피보나치 수 a(X)를 'Hour X: Y cow(s) affected' 형식으로 출력한다.

쉬움3수학동적 계획법구현재귀면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

수의 당국이 새로 발견된 소 질병의 확산을 보고했다. 발병한 소는 모두 업계 보호를 위해 안락사되었다. 발병 후 8시간, 9시간, 10시간이 지났을 때 누적 발병 두수는 각각 21마리, 34마리, 55마리였다.

발병 두수는 피보나치 수열을 따른다. a(1)=1a(1) = 1, a(2)=1a(2) = 1이며, n3n \ge 3인 모든 nn에 대해 a(n)=a(n1)+a(n2)a(n) = a(n-1) + a(n-2)이다. 주어진 시간이 XX일 때 안락사 대상 누적 두수 a(X)a(X)를 구하는 프로그램을 작성하시오.

입력

입력은 여러 줄로 이루어진다. 각 줄에는 시간을 나타내는 490 이하의 양의 정수가 하나씩 주어진다. 마지막 줄의 -1은 입력의 끝을 나타내며, 이 줄은 처리하지 않는다.

출력

각 입력값마다 한 줄씩 Hour X: Y cow(s) affected 형식으로 출력한다. 여기서 X는 입력된 시간이고, Y는 해당 시간의 누적 발병 두수이다.