这是一道送分提交答案题。
在打败了AlphaGo之后,SingleDog们决定选出一个新的狗群首领,建立起崭新的战后秩序。
但是他们在研究了美国大选Trump的先例之后,发现每个独立的选民能获取的信息都是有限的,他们很好奇,这种情况下,选民还能不能选出正确的选择呢?
任务一
我们把选举的过程抽象成以下的模型:
每个人投一票给
请你为每个人选择一个策略,在所有
任务二
在研究了任务一之后,狗群决定加大难度。
在任务一的模型中,请你为每个人选择一个策略,使得在所有
任务三
SingleDog们对于这个正确率还是很不满意,他们认为,如果每个选民可以投任意
那么如果把任务一的模型中每人只能投一票,改为每人可以投任意
请留意这个任务中每人可以投任意
你能使只有严格小于
任务四
但是理想模型和狗群现实还是有很大的差距,往往选民获取的信息只有一半甚至更少。
现在
他们的目标是要选出对应的01串的每一位异或起来是
你能保证在全部
格式
对于全部的四个任务,你需要提交你的答案文件,其中包含每个动物的投票策略。
任务一、任务二
这个文件的第
将一个动物能看到的每个位置的情况,按照位置编号大到小的顺序从左往右排列,可以看做一个二进制数(即二进制数中
比如一个人看到的三个位置编号是
而在01串中,这个数字对应的下标位置,代表了这个动物看到这个场景时的决策。
比如
任务三、任务四
文件的第
各对应任务的分数
子任务 | 分值 |
---|---|
1 | 22 |
2 | 24 |
3 | 18 |
4 | 36 |
如何测试你的输出
在终端中先切换到该试题的目录下:(windows用户请使用cmd)(假设你把输入输出文件、checker什么的都放在了vote这个文件夹下)
cd vote
我们提供checker这个工具来测试你的输出文件是否是可接受的。使用这个工具的方法是,在终端中运行
g++ checker.cpp -o checker
./checker vote<case_no>.in your_answer.out your_answer.out
其中case_no是测试数据的编号。
在你调用这个程序后,checker将根据你给出的输出文件给出测试的结果。
注意比赛时提交此题显示的成绩就是最终成绩。