QOJ.ac

QOJ

時間限制: 10.0 s 記憶體限制: 256 MB 總分: 100

#15984. 栈机程序员

统计

许多密码可以使用各种机器和自动机更快地计算。然而,这类机器的问题在于必须有人为它们编写程序。想象一下,如果我们能编写一个可以自动编写其他程序的程序,那该有多么便利。在本题中,我们将(暂时)忽略这种“通用程序”是不可能实现的事实,同时也忽略如果它真的存在,我们大多数人都会失业的事实。

你的任务是编写一个程序,自动为问题 execute 中定义的栈机(stack machine)生成程序。

输入格式

输入包含多个测试用例。每个测试用例以一个整数 $N$ ($1 \le N \le 5$) 开始,表示你的程序需要处理的输入数量。接下来的 $N$ 行每行包含两个整数 $V_i$ 和 $R_i$。其中 $V_i$ ($0 \le V_i \le 10$) 是输入值,$R_i$ ($0 \le R_i \le 20$) 是该输入值对应的期望输出值。所有输入值 $V_i$ 互不相同。

每个测试用例后面都跟有一个空行。输入以一行仅包含一个零(代替输入数量 $N$)结束。

输出格式

对于每个测试用例,生成任意一个能对所有输入产生正确输出值的程序。这意味着,如果该程序在执行时,初始栈中仅包含输入值 $V_i$,那么在成功执行后,栈中必须仅包含一个单一的值 $R_i$。

你生成的程序必须严格满足问题 execute 的规范中描述的所有条件,包括精确的格式、空格数量、最大程序长度、数值限制、栈大小等。当然,程序在执行过程中不能发生错误(failure)。

在每个程序(包括最后一个)之后打印一个空行。

样例

输入样例 1

3
1 3
2 6
3 11

1
1 1

2
2 4
10 1

0

输出样例 1

DUP
MUL
NUM 2
ADD
END

END

NUM 3
MOD
DUP
MUL
END

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.