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");
}
}