Logo
(追記) (追記ここまで)

30104번 - MJH 스크립트

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB466516.129%

문제

정후와 함께 MJH 스크립트를 배웁시다.

<MJH 스크립트의 명세>

  • 프로그램은 a부터 z까지의 로마자 소문자 이름을 가지고 있는 26개의 변수를 이용합니다.
  • 각 변수의 초깃값은 0입니다.
  • 프로그램은 하나 이상의 줄로 이루어집니다.
  • 한 줄은 하나의 명령어로 이루어지며, 줄 바꿈으로 끝납니다.
  • 가장 위의 줄인 첫째 줄부터 실행하여, 마지막 줄의 다음 줄로 이동한 경우 프로그램을 종료합니다.
  • 명령어는 다음 중 하나입니다.
    • <lvalue> = <rvalue_1> + <rvalue_2> + ... + <rvalue_k>: 변수 <lvalue><rvalue_1>부터 <rvalue_k>까지의 값을 더한 값을 1ドル,000円,000円,007円$로 나눈 나머지를 대입한 후 다음 줄로 이동합니다. $k$는 1 이상의 정수입니다. <lvalue>는 로마자 소문자로, 변수의 이름입니다.
    • GOTO x: $x$째 줄로 이동합니다. $x$는 프로그램의 줄의 수보다 작거나 같은 양의 정수입니다. 다만, 전체 GOTO 명령어를 통틀어 GOTO 명령어에 $P$ 번째로 진입한 경우에는 무한 루프로 판단하여 프로그램을 즉시 종료합니다.
    • PRINT <rvalue_1> + <rvalue_2> + ... + <rvalue_k>: <rvalue_1>부터 <rvalue_k>까지의 값을 더한 값을 1ドル,000円,000円,007円$로 나눈 나머지를 출력한 후 다음 줄로 이동합니다. $k$는 1 이상의 정수입니다.
  • <rvalue_i>는 다음 중 하나입니다.
    • 1ドル,000円,000円,007円$ 미만의 음이 아닌 정수로, 그 값을 나타냅니다.
    • 로마자 소문자로, 그 이름을 가진 변수의 값을 나타냅니다.
    • 1ドル,000円,000円,007円$ 미만, 2 이상의 정수 하나와 로마자 소문자 하나를 연달아 쓴 것으로, 정수와 그 이름을 가진 변수의 값을 곱한 값을 나타냅니다.

MJH 스크립트를 이해했다는 것을 증명하기 위해, 주어진 프로그램을 실행해 봅시다.

입력

첫째 줄에 정수 $P$가 주어집니다.

그다음 줄부터 프로그램이 주어집니다. 불필요한 공백은 주어지지 않습니다.

출력

PRINT의 값을 한 줄에 하나씩 출력합니다. 단, 그 횟수가 10회 이상일 경우 첫 5회와 마지막 5회만 차례로 출력합니다.

그다음 줄에 a부터 z까지의 변수의 값을 공백으로 구분하여 차례로 출력합니다.

제한

  • 1 ≤ P ≤ 1012
  • 주어진 프로그램은 유한한 시간 안에 종료됩니다.
  • 프로그램의 길이는 1,000,000을 넘지 않습니다. 프로그램의 길이에 줄 바꿈은 포함하지 않습니다.

예제 입력 1

3
PRINT 0
x = 1
PRINT x
x = 2x + 1
GOTO 3

예제 출력 1

0
1
3
7
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 0 0

예제 입력 2

1000000000000
PRINT 2a + 1 + 2
a = 1104
b = 1000000006
c = 1000000006a + 998244353b + 123456789
PRINT a
PRINT b
PRINT c
a = 236a + 691b + 943c
b = 945a + 701b + 79c
c = 360a + 994b + 523c
GOTO 6

예제 출력 2

3
1104
1000000006
125211339
343054800
144981173
181835967
6576280
711485519
694070565
358877707 722350325 211094595 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

힌트

출처

School > 경기과학고등학교 > 2023 GSHS CS Seminar K번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /