给六种牌1~6,每种四张,A和B轮流任意选一张牌,谁先让选出的牌和$sum\geq 31$就输,现给出部分已经选的序列,问最优情况下谁赢。
题解
- 选牌的顺序会影响答案,总共状态数为不是很多,考虑爆搜
- 预处理出所有不合法状态
- 然后暴力找出所有状态,因为和不会超过31所以总共的状态不会很多
- 一个状态可以转移到很多状态
- 考虑先手拿牌则是有胜的状态就转移到胜的状态
- 考虑后手拿牌肯定不能转移到先手赢的状态
代码
1 |
|
Success and failure are temporary.
给六种牌1~6,每种四张,A和B轮流任意选一张牌,谁先让选出的牌和$sum\geq 31$就输,现给出部分已经选的序列,问最优情况下谁赢。
1 | #include<bits/stdc++.h> |