크레인 트럭 (작은 입력)
시간 제한10초메모리 제한512 MB
최대 두 개의 평탄한 반복을 가진 크레인 프로그램을 240개 원형 칸에서 순환 값으로 실행하고 트럭 이동 횟수를 셉니다.
문제
창고에 보관 자리 240곳이 원을 이루며 놓여 있다. 크레인을 실은 트럭이 이 원을 따라 돌면서 프로그램에 적힌 대로 상자를 집어 올리거나 내려놓는다. 트럭에는 상자가 무한히 실려 있어서 언제든 상자를 하나 더 내려놓을 수 있다.
프로그램은 다음 명령을 나열한 것이다.
b: 한 자리 뒤로 이동한다f: 한 자리 앞으로 이동한다u: 지금 있는 자리에서 상자를 하나 집어 올린다d: 지금 있는 자리에 상자를 하나 내려놓는다(: 아무 일도 하지 않는다): 지금 있는 자리에 상자가 두 개 이상이면 프로그램에서 가장 가까운 앞쪽(로 돌아가 그 자리부터 이어서 실행한다. 트럭은 움직이지 않는다.
모든 ( 에는 뒤쪽에 짝이 되는 ) 가 하나씩 있다. 한 프로그램에 이런 짝은 많아야 두 개이고, 짝끼리 겹쳐 놓이지 않는다. 그래서 프로그램의 모양은 셋 중 하나다. ( 와 ) 가 아예 없거나, ( 하나 뒤에 ) 하나가 오거나, (, ), (, ) 가 이 순서로 온다.
트럭이 출발하기 전에 모든 자리에는 상자가 정확히 하나씩 있다. 출발 시점에는 모든 자리가 똑같으므로 답은 트럭이 어느 자리에서 출발하는지에 따라 달라지지 않는다.
트럭이 어떤 자리의 마지막 상자를 집어 올리면 다른 트럭이 곧바로 와서 그 자리에 상자 256개를 내려놓는다. 트럭이 상자를 내려놓아 그 자리의 상자가 257개가 되면 다른 트럭이 곧바로 지나가면서 256개를 집어 가고 하나만 남긴다. 그래서 모든 자리의 상자 개수는 항상 1개 이상 256개 이하다.
프로그램이 끝날 때까지 트럭이 앞이나 뒤로 몇 번 움직이는지 세어라.
입력
첫째 줄에 프로그램의 개수 가 주어진다.
다음 개 줄에 프로그램이 한 줄에 하나씩 주어진다.
제한
- (프로그램의 길이)
- 프로그램에는
b,f,u,d,(,)만 나온다. - 모든 프로그램은 반드시 끝난다.
- 한 프로그램에
(와)의 짝은 많아야 두 개이고, 짝끼리 겹쳐 놓이지 않는다. - 개 프로그램을 모두 실행할 때 실행되는 명령은 다 합쳐서 개 이하다.
출력
개 줄을 출력한다. 번째 프로그램에 대해 Case #i: Y 형식으로 출력한다. 는 트럭이 앞이나 뒤로 움직인 횟수다.