AlgorithmQuiz/Interpreter에 대해 써주세요. 와우.. 드뎌 레벨2입니다.-_-; === 인터프리터(Interpreter) === 어떤 컴퓨터에 열 개의 레지스터와 1,000 워드 분량의 램(RAM)이 있다. 각 레지스터 또는 램 위치에는 0 이상 999 이하의 세 자리 정수가 저장된다. 명령어는 세 자리 정수로 인코딩되며 램에 저장된다. 인코딩은 다음과 같다. ||100||종료|| ||2dn||d레지스터를 n으로 설정(0이상9이하)|| ||3dn||d레지스터에 n더함|| ||4dn||d레지스터에 n곱함|| ||5ds||d레지스터를 s레지스터의 값으로 설정|| ||6ds||s레지스터의 값을 d레지스터에 더함 || ||7ds||d레지스터에 s레지스터의 값을 곱함 || ||8ds||d레지스터를 s레지스터에 저장된 주소의 램에 들어있는 값으로 설정 || ||9ds||d레지스터에 저장된 주소의 램에 s레지스터의 값을 대입 || ||0ds||s레지스터에 0이 들어있지 않으면 d레지스터에 있는 위치로 이동|| 모든 레지스터의 초기 값은 000 이다. 램에 저장되는 초기 값은 표준 입력으로부터 들어온다. 처음으로 실행될 명령은 주소가 0인 램에 들어있다. 모든 결과는 값이 1,000이 넘어가면 1,000으로 나눈 나머지로 줄어든다. 입력 {{{ 입력은 입력 케이스의 개수를 나타내는 양의 정수 한개가 들어있는 줄로 시작되며 그 줄에는 그 숫자밖에 입력되지 않는다. 그 뒤에는 빈 줄이 하나 들어가고 서로 다른 입력 케이스 사이에는 빈 줄 두개가 입력된다. 각 입력 케이스는 최대 1,000 개의 부호가 없는 세 자리 정수로 구성되며 그 숫자들은 0부터 시작하는 연속된 램 위치에 저장되는 내용을 나타낸다. 값이 지정되지 않는 램 위치는 000으로 초기화된다. }}} 출력 {{{ 각 테스트 케이스마다 하나씩의 정수를 출력한다. 출력되는 정수는 종료 명령어에 이르기까지 (종료 명령어 포함) 실행된 명령어의 개수다. 프로그램이 종료된다고 미리 가정해도 된다. 케이스가 여러 개 있는 경우에는 각 출력 사이에 빈 줄을 출력한다. }}} 입력예 {{{ 1 299 492 495 399 492 495 399 283 279 689 078 100 000 000 000 }}} 출력예 {{{ 16 }}} ---- [AlgorithmQuiz]