2020牛客多校第十场D-Hearthstone Battlegrounds

Description

在这里插入图片描述

Solution

又是榜被带歪的一天
超级大水题

  • 我们发现
  • 剧毒圣盾亡语 ⇒ 被 藤 蔓 撞 \Rightarrow^{被藤蔓撞} 剧毒亡语
  • 剧毒圣盾 ⇒ 被 藤 蔓 撞 \Rightarrow^{被藤蔓撞} 剧毒
  • 剧毒亡语 ⇒ 被 怪 撞 \Rightarrow^{被怪撞} 藤蔓
  • 剧毒 ⇒ 被 怪 撞 \Rightarrow^{被怪撞} 西内
  • 圣盾相当于两个怪
  • 因此我们尽量用藤蔓破对面盾,让 1 / 1 1/1 1/1发挥 1 / 1 0 9 1/10^9 1/109的力量!
  • 由此可见,藤蔓是最有用的
  • 我们要用3124的优先级打对面3412
  • 复杂度 O ( a 1 + a 2 + a 3 + a 4 + b 1 + b 2 + b 3 + b 4 ) O(a1+a2+a3+a4+b1+b2+b3+b4) O(a1+a2+a3+a4+b1+b2+b3+b4)
#include <bits/stdc++.h>
int T,a1,a2,a3,a4,a5,b1,b2,b3,b4,b5;
void fight(){
	if(b3) --b3,++b5;
	else if(b4) --b4;
	else if(b1) --b1,++b3;
	else --b2,++b4;
}int main(){
	scanf("%d",&T);
	while(T--){
		scanf("%d%d%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&b1,&b2,&b3,&b4),a5=b5=0;
		while(a1+a2+a3+a4&&b1+b2+b3+b4){
			if(a3+a4) b5=0;
			if(a5&&b1+b2){if(b1)--b1,++b3;else--b2,++b4;a5=0;}
			if(a3) --a3,++a5,fight();
			else if(a1) --a1,++a3,fight();
			else if(a2) --a2,++a4,fight();
			else --a4,fight();
		}puts(((b1+b2+b3+b4)||(!(a1+a2+a3+a4)&&a5<=b5))?"No":"Yes");
	}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值