为了恢复跳蚤国,跳蚤国王需要一支强大的军队,但他现在只是一个光杆司令。于是他来到了国富民强的蛐蛐国,希望能得到蛐蛐国王的支援。跳蚤国王向蛐蛐国王说明了来意。蛐蛐国王稍作思考,表示:“我们可以提供援军,但是需要先经过我的一个考验。”
蛐蛐国王的手下的禁卫军有
对于一名士兵,如果与他所在位置 x 坐标相同的人数严格多于与他所在位置 y 坐标相同的人数,那么他就被编入第一组,否则被编入第二组。
一个调度过程是这样的。一开始你可以任意指定这
显然,在每次移动后,有一部分(可能一个也没有)士兵所在的分组会改变。假设调度过程中共有
现在蛐蛐国王的考验是:跳蚤国王需要证明他的指挥能力不比蛐蛐国王手下的将官差。于是他需要给出一个调度过程,使得最终得到的评价值
跳蚤国王非常愤怒,觉得这个考验是在侮辱他的能力。但由于现在他是光杆司令,需要蛐蛐国的援助,因此他让作为计算机高手的你——伏特来帮他完成考验。
你设计的调度过程可以不用到全部
输入格式
一行三个正整数
输出格式
第一行一个非负整数
接下来
接下来一行一个非负整数
接下来
样例一
input
4 3 4
output
4 0 0 1 1 2 2 3 3 3 0 0 1 1 2 1 1 0 3
explanation
这组样例
初始时,
第一次移动后,第
第二次移动后,第
第三次移动后,第
共改变
注意这并不是在
样例二
见附加文件中 ex_dispatch2.in
,这组样例限制与子任务
数据范围
本题是一道传统题,你需要提交一个输出方案的程序。
本题共有
子任务编号 | 分值 | |||
---|---|---|---|---|
时间限制:
空间限制:
校验器
为了方便选手测试,附加文件中我们给出了名为 checker.cpp
的文件,选手可以编译该程序,并使用它校验自己的输出文件。但请注意它与最终评测时所使用的校验器并不完全一致,且它的效率可能不足够高。你也不需要关心其代码的具体内容。
编译命令为:g++ -std=c++11 checker.cpp −o checker
。此外,附加文件中有还有名为 testlib.h
的文件,在编译时,请确保该文件与 checker.cpp
在同一子目录下。
在终端中,checker
的使用方式为:checker <输入文件名> <输出文件名> <输出文件名>
。如果你的输入文件名为 dispatch.in
,输出文件名为 dispatch.out
,则正确的使用方式为 checker dispatch.in dispatch.out dispatch.out
。
若你的方案正确,校验器会给出 ok
并输出你的调度过程的评价值,否则,该校验器会给出简要的错误信息。