프로그램
시간 제한2초메모리 제한512 MB
X=1에서 시작해 대입과 조건부 대입 명령으로 이루어진 프로그램이 주어질 때, 마지막 값이 k가 되도록 지워야 할 최소 명령 수를 모든 k에 대해 구한다.
문제
정수 변수 를 사용하는 프로그램이 있다. 처음에 이다. 프로그램은 두 종류의 명령 개로 이루어진다.
1 p(): 변수 에 값 를 대입한다.2 p q(, ): 현재 의 값이 일 때만 변수 에 값 를 대입한다.
한 단계에서 프로그램의 명령 하나를 골라 지울 수 있다. 명령의 순서를 바꾸거나 새 명령을 추가할 수는 없다. 프로그램을 실행한 뒤 변수 의 값이 가 되도록 만들기 위해 필요한 최소 단계 수는 얼마인가? 이 문제를 부터 까지 각각에 대해 해결하라.
입력
첫째 줄에 프로그램의 명령 개수 이 주어진다. ()
다음 개 줄에 위에 설명한 형식으로 명령이 하나씩 주어진다.
출력
개의 정수를 출력한다. 번째 정수는 프로그램이 변수 에 값 를 대입하도록 만들기 위해 필요한 최소 단계 수이며, 불가능하면 이다.