실제 응용에서 나타나는 많은 문제는 최적화 문제로 표현할 수 있다. 즉, 몇 가지 제약 조건 아래에서 이른바 목적 함수(criterion function) 를 최대화하거나 최소화해야 한다.
다음 삼각함수 최적화 문제를 생각하자. 제약 조건 x+y+z=S 아래에서 목적 함수
F1(x)+F2(y)+F3(z)
를 최대화하거나 최소화한다. 여기서 x, y, z 는 변수이고 S 는 주어진 매개변수이며, x, y, z, S 는 모두 자연수이다(즉 x,y,z≥1). 함수 F1, F2, F3 각각은 삼각함수 sin 또는 cos 중 하나이고, 그 인자는 라디안 단위로 측정한다.
이 삼각함수 최적화 문제를 푸는 프로그램을 작성하라.
입력은 5줄로 이루어진다.
sin 또는 cos 중 하나이다.min 또는 max 중 하나이다. min 이면 목적 함수를 최소화하고, max 이면 최대화한다.목적 함수의 최적값을 한 줄에 출력한다. 넷째 줄이 max 이면 최댓값을, min 이면 최솟값을 출력하며, 이는 x+y+z=S 를 만족하는 모든 자연수 x, y, z 에 대한 값이다.
값은 소수점 아래 정확히 10자리로 반올림하여 출력한다 (형식 %.10f).