“非确定机”是现在假想中的一种计算机,它可以同时运行任意多段指令。这种计算机中允许一种新的分支指令,执行到这条指令时,程序会一分为二,同时分别执行这两个分支。
“非确定机”的一个神奇功能是程序反转。给定一个程序和该程序的输出,它可以用相同的时空代价得到一个符合该输出的输入。这道题目正是要你反转运行一个程序。
在本题中,你有一个已编译好的,包含一些算法的程序 prog。它的输入为一个有向图
为了区分,在后文中如果没有特殊说明,我们把给定的程序 prog 的输出文件称作“输入”,把你需要提交的程序 prog 的输入文件称作“输出”。
输入格式
该题为提交答案型试题。所有输入数据 nm1.in ~ nm10.in 见数据下载。
输入的第一行包含三个正整数
接下来有若干行,每行包含若干个整数,其意义需要你去探究。
输出格式
针对给定的 10 个输入文件 nm1.in ~ nm10.in,你需要分别提交你的输出文件 nm1.out ~ nm10.out。
输出文件的第一行包含
接下来
程序的使用
在终端中先切换到该试题的目录下:(windows用户请使用cmd)
cd game
prog 的使用方法是
./prog_linux64 <output_file>
程序会把 <output_file>
作为程序 prog 的输入,将运行结果输出到标准输出。例如
./prog_linux64 nm4.out
程序将会把 nm4.out 作为程序 prog 的输入。(windows用户请使用prog_win32 nm4.out
)(什么你是windows 64位?放心吧可以运行win32应用程序的。)
当然我们有对应的linux 32位版本:prog_linux32
。如果linux用户发现无法运行程序,请尝试执行chmod +x prog_linux64
或chmod +x prog_linux32
后重试。
其它操作系统请安装 node.js 然后使用 node prog.js <output_file>
运行checker。
如果你的文件不合法,程序将会输出错误信息。
样例一
input
3 0 0 0 0 1 1 0 0 0 1 0
output
3 3 0 1 3 92 2 1 12 3 2 29
explanation
在样例中,边的权值
评分方法
每个测试点单独评分。
如果你的输出运行后得到的
如果你的输出运行后得到的
如果你的输出运行后得到的所有整数中,除了
在评测时,每个测试点会有一个评分参数
如果你的输出运行后得到的整数和输入文件全部一致,得 10 分。
以上条件如果满足多个,取最高分。
每个测试点的
测试点编号 | 测试点编号 | ||
---|---|---|---|
1 | 6 | ||
2 | 7 | ||
3 | 8 | ||
4 | 9 | ||
5 | 10 |
如何测试你的输出
程序 prog 还有测试的功能,可以根据你的输入输出文件以及
./prog_linux64 <output_file> <input_file> <s>
例如要测试测试点 6,可以使用
./prog_linux64 nm6.out nm6.in 8
提示
题目中大多数