codeforces-#674-E
九月 30, 2020
题意
AB两人玩n轮猜拳
A会出a1次石头a2次剪刀a3次布
A会出b1次石头b2次剪刀b3次布
问A的最小胜场和最大胜场
题解
最大胜场贪心求解 maxn=min(a[2],b[3])+min(a[1],b[2])+min(a[3],b[1]);
最小胜场可以将问题转化为最大流问题
也可以贪心考虑:结合下图和文字描述
首先需要知道A的最小胜场次数只会是A出1种拳时产生 不会存在A出布胜同时A出剪刀胜
就比如上图若B的S+P<A的P那么只能用B的R来填补A的P导致Awin
所以只需要分别求A出剪刀/石头/布取胜种最大的情况
minn=max({0,a[1]-b[3]-b[1],a[2]-b[2]-b[1],a[3]-b[3]-b[2]})
1 |
|
查看评论