QOJ.ac

QOJ

Total points: 100 Output Only

#10877. 人工智障

統計

这是一道提交答案题。

题目背景

学校的机房里,一台电脑似乎出现了问题:它的硬盘中有许多文件失效,再也读取不出来了。

作为一台使用了很长时间的机器,这种问题相当常见。然而,考虑到其中也许有着有价值的文件,你还是决定备份一下硬盘的可用部分。

就在此时,你在其中发现了一个不得了的东西:

“人工智能:全能版”

试图打开了一下,竟然是可以运行的。然而,你并不知道如何与它交互。

好在这个人工智能还特别贴心地附带了交互用例,然而其中的输入文件也打不开了。唯一可用的,只有一些输出文件。

“要是可以恢复这些输入文件,岂不是很完美。”带着这样的想法,你决定自己去完成这项看起来很难的工作。

题目描述

给定一个 AI,和一些运行结果,你需要编写输入数据,使得 AI 可以输出这些结果。

AI 的内部原理是人类无法理解的,因此只有通过输入与输出的方式才能和 AI 进行交互。

AI 的功能涉及多个方面,因此每个功能都需要测试。遗憾的是,由于丢失了使用手册,这些功能的具体内容只能由你去猜测。

目标文件与输入输出

这是一道提交答案型试题,你不需要提交你的源程序。

本题共有 10 个测试点,每个测试点有 4 个目标文件。目标文件的文件名为 X.taskY,其中 $X$ 为测试点编号,$Y$ 为 $1,4,7,10$ 中的一个。以第一个测试点为例,这 4 个文件为:1.task1, 1.task4, 1.task7, 1.task10

你需要编写 10 个文件,文件名为 1.out10.out,每一个文件对应一个测试点。

注意,接下来的“输入文件”与“输出文件”是对于 AI 而言的,而不是题目。

AI 被封装成了一个程序,以可执行文件 ai 来表示(使用方法见下文)。AI 以 X.out 为输入,输出到 X.res。你的任务,是使得 X.resX.taskY 中的一个完全一致。此时,此测试点得 $Y$ 分;否则,此测试点得 $0$ 分。

AI 的输入文件第一行是 Type i,其中 $i$ 为一个整数,表示接下来的任务需要用到哪一种功能。接下来的若干行是输入内容,其格式在不同的功能下有所不同,且意义不明。

AI 的输出文件第一行也是 Type i,其中 $i$ 与输入文件中相同。接下来的若干行是对应的输出内容。

如何使用AI

你需要使用附加文件中的 ai,并且有多种方式进行调用。当然,你可以自行修改文件名,但以下的示例表示不做修改时的情况。

首先,你需要进入终端,并通过使用 cd 命令切换到对应的目录下。

1. 在终端下输入

./ai

即可运行 AI。这种方式下,AI 会使用标准输入输出。

2. 你可以加入参数 -s,让程序从 input.txt 读入,并向 output.txt 中输出,例如:

./ai -s

3. 你可以直接加入数字 $X$,让程序从 X.out 读入,并向 X.res 输出。例如:

./ai 7

表示从 7.out 读入,并向 7.res 输出。

这里,$X$ 可以是任何非负整数,并不限于 $1$ 到 $10$。

4. 你可以加入两个参数,让程序从第一个文件名读入,向第二个文件名输出。例如:

./ai a.out a.res

表示从 a.out 输入,向 a.res 输出。

本题的所有相关文件,包括 ai 程序已经下发到了你的机器上。如果你从 OJ 上重新下载了题目目录,那么在使用下载的 ai 前,你需要运行这条命令:

chmod +x ai

如何测试你的结果

我们提供了测试程序 checker 来测试你的结果。

将测试程序与所有的 .out 文件、所有的 .taskYAI 放在同一目录下,即可运行测试程序。 测试程序会执行 ./ai 1./ai 10,因此会覆盖 X.res。在这之后,会通过屏幕输出显示每个点的得分。

样例目标文件0.taskY

Type 45
你好
世界

样例输入文件0.out

Type 45
hello
world

样例解释

AI 的第 $45$ 项功能是一个简易的词典,它会将每一行的英文单词翻译成中文。如果词语在词库中不存在,则会翻译成 [未收录]。AI 使用的所有英文都已被收录在词库中。

目标文件是中文 你好世界,因此所需的输入文件是对应的英文 helloworld

提示

请保存好目标文件 X.taskY 和编写的文件 X.out,及时备份,以防误删。

通过自行修改目标文件而获得的得分是无效的。

为了得到最高分,你只需要编写 $10$ 个文件,而不是 $40$ 个。


またはファイルを一つずつアップロード:
About Issues

We understand that our problem archive is not perfect. If you find any issues with the problem, including the statement, scoring configuration, time/memory limits, test cases, etc.

You may use this form to submit an issue regarding the problem. A problem moderator will review your issue and proceed it properly.

STOP! Before you submit an issue, please READ the following guidelines:

  1. This is not a place to publish a discussion, editorial, or requests to debug your code. Your issue will only be visible by you and problem moderators. Other users will not be able to view or reply your issues.
  2. Do not submit duplicated issues. If you have already submitted one, please wait for an moderator to review it. Submitting multiple issues will not speed up the review process and might cause your account to be banned.
  3. Issues must be filed in English or Chinese only.
  4. Be sure your issue is related to this problem. If you need to submit an issue regarding another problem, contest, category, etc., you should submit it to the corresponding page.

Active Issues 0

No issues in this category.

Closed/Resolved Issues 0

No issues in this category.