决策和计策是神犇。
又到了吔饭的时间,可是决策和计策没有时间去吔饭,于是他们决定选出一个人去带饭。
计策提议使用石头剪刀布决出胜负,但是决策觉得这样太没有技术含量,不能做出很有趣的决策,他提出了用这样一种小游戏决定胜负:
- 双方各有一个能量槽,可以存储至多
点能量。 - 双方都有大技能,当能量槽满了的时候可以释放大技能,并消耗所有能量。
- 除了大技能之外有
种小技能,编号为 ,分为三类:- 消耗型,消耗
个能量,只有能量不小于 时才能使用。 - 免费型,不消耗能量,任何时候都可以使用。
- 补给型,使用后能获得
个能量,但是使用后总能量如果超过 点那么多余部分会被浪费掉。任何时候都可以使用。
- 消耗型,消耗
- 技能之间有一些相克的关系。大技能克所有小技能。游戏规定了小技能间有若干个相克关系,每个关系形如:
号小技能克 号小技能。其它技能之间没有相克关系。 - 每回合每个人必须选择一种可使用的技能,然后同时亮出。假如一方出的技能克对方出的技能,那么游戏结束该方获胜。否则双方更新自己的能量槽然后继续游戏。当然,如果同时出大技能那么双方都会清空能量槽然后继续游戏。
- 如果游戏永远都不会结束那么算作双方各赢
场。
决策发现自己可以用 AI 跟计策打一局,这样就不用每次自己去花力气打了。
决策还发现每个游戏局面的最优策略只跟双方的能量槽有关,所以自己只需要给程序一张策略表,上面记录了每个状态下出每种技能的概率分别是多少就行了。
但是计策很有计策,决策知道计策会偷偷潜入他的电脑偷看他的程序和策略表。但是由于决策使用了当前系统时间作为随机种子,所以计策并不能知道这一次到底会出什么,只知道出每种技能的概率。
现在决策找到了你,请你找出一种方案使得自己的胜率不低于
但同时计策也找到了你,他给了你决策的策略表,请你找出一种方案使得胜率最大。
与此同时鏼也找到了你,他给出了两个人的策略表,想请你算出每个人有多少的胜率。
策略表的输入输出格式
每个能量槽有
共
每个策略占一行,共
输入格式
多组数据。第一行为测试点编号,数据组数
对于每一组数据,第一行两个正整数分别表示能量槽上限
若
接下来一行
接下来
假如
假如
输出格式
如果
如果
如果
注:测评时为了防止精度误差,在假如某个状态只有低于
样例一
input
0 1 1 2 3 -1 0 1 0 0 1 0 0 0 -1 0 0 0 0 1000000000 0 1000000000 0 0 0 1000000000 333333334 333333333 333333333 0 0 1000000000 0 1000000000 0 0 0 1000000000 333333334 333333333 333333333
output
0.5000000000
样例二
input
0 1 2 2 3 -1 0 1 0 0 1 0 0 0 -1 0 0 0 0 1000000000 0 1000000000 0 0 0 1000000000 333333334 333333333 333333333
output
0 0 1000000000 0 1000000000 0 0 0 1000000000 333333334 333333333 333333333
样例三
input
0 1 3 2 3 -1 0 1 0 0 1 0 0 0 -1 0 0
output
0 0 1000000000 0 1000000000 0 0 0 1000000000 333333334 333333333 333333333
限制与约定
测试点编号 | 备注 | ||||
---|---|---|---|---|---|
1 | 输入见样例数据及1号点下载中的 jc1.in | ||||
2 | 无 | ||||
3 | 无 | ||||
4 | |||||
5 | 游戏局面与样例一相同 | ||||
6 | |||||
7 | 无 | ||||
8 | |||||
9 | |||||
10 |
除了第 5,6 两个点,其他点数据均为随机生成。
随机生成方式:
- 对于每个技能,有
的概率是免费型, 是消耗型, 是补给型,且消耗型和补给型的 的绝对值不超过 。 - 保证三种技能至少都有一个。
- 小技能的相克关系生成方式:
- 对于每一对技能,有
的概率有相克关系:- 假如使用后能量损失相同则各有
概率克对方。 - 假如使用后不同则收益大的一方有
的概率克对方,收益小的一方有 的概率克对方。 - 保证每个补给型技能至少被一个技能克。
- 假如使用后能量损失相同则各有
- 保证至少存在一个补给型技能使得只有消耗型技能才能克它。
- 对于每一对技能,有
- 策略表生成方式:
- 对于一个状态,把可使用的小技能的使用概率置为均等。由于必须要是
的整数倍有可能无法均匀分配,保证任意两个可使用的小技能的使用概率之差的绝对值不超过 。 - 然后进行
次操作,每次操作选择两个不同的可使用的小技能 ,产生一个 到 技能的使用概率之间的均匀随机数 ,且 为 的整数倍。将 的概率减少 ,将 的概率加上 。
- 对于一个状态,把可使用的小技能的使用概率置为均等。由于必须要是
如果不理解可以参考1号点。
时间限制:
空间限制:
来源
中国国家集训队互测2015 - By 邹逍遥