시간 제한
메모리 제한
시간 제한
1초
메모리 제한
128 MB
종수는 새 마이크로프로세서를 샀다. 예전 프로세서에서 실행되던 프로그램을 새 프로세서에서 실행했지만, 프로그램은 동작하지 않았다.
며칠 동안 두 프로세서의 기술 문서를 비교한 끝에 원인을 알게 되었다. 새 프로세서는 실행 속도를 높이기 위해 머신 코드에 새로운 제한을 두고 있었다. 예전 프로세서에는 이 제한이 없었다.
프로세서의 머신 코드는 실행할 명령들을 순서대로 나열한 것이다. 각 명령은 메모리 1바이트를 사용한다. 명령은 0개 이상의 파라미터를 가질 수 있고, 각 파라미터도 1바이트를 차지한다. 머신 코드에서 파라미터는 항상 해당 명령 바로 뒤에 온다.
머신 코드는 명령을 대문자로, 파라미터를 소문자로 나타낼 수 있다.

위 프로그램은 네 개의 명령으로 이루어져 있다. 첫 번째 명령은 파라미터 3개, 두 번째 명령은 파라미터 2개, 세 번째 명령은 파라미터가 없고, 네 번째 명령은 파라미터 4개를 가진다. 이 프로그램은 총 13바이트의 메모리를 사용한다.
새 프로세서는 메모리를 4바이트 단위로 가져온다. 따라서 원래 프로그램의 각 명령은 메모리의 첫 바이트를 주소 0으로 보았을 때 4로 나누어떨어지는 주소에서 시작해야 한다. 이를 만족하도록 새 명령 NOP(no operation)를 끼워 넣어야 한다. 위 프로그램을 새 프로세서에서 실행할 수 있도록 바꾸면 다음과 같다.

명령 A, B, C, D의 시작 주소는 각각 0, 4, 8, 12로 모두 4의 배수이다.
예전 프로세서용 머신 코드가 주어질 때, 새 프로세서에서 실행할 수 있도록 삽입해야 하는 NOP 개수의 최솟값을 구하시오.
예전 프로세서용 머신 코드 프로그램이 한 줄에 주어진다. 프로그램의 길이는 최대 200자이다.
프로그램은 항상 명령으로 시작하므로 첫 글자는 대문자이다. 같은 명령이 머신 코드에 여러 번 등장한다면, 그 명령은 항상 같은 개수의 파라미터를 가진다.
삽입해야 하는 NOP 개수의 최솟값을 출력한다.