P9586 游戏

去洛谷看我的博客

思路

一定要注意看题啊,我就是因为没看到 该玩家可以出任意张杀和斩玩家也可以不出牌,直接进入对方的回合导致赛时想了半天的特殊情况,头都快薅秃了。

因为一次可以出任意张杀和斩,所以当 c 1 > d 2 c_1>d_2 c1>d2 或者 c 3 > d 1 c_3>d_1 c3>d1 时,小 C 可以直接通过出杀和斩赢得游戏。

如果不行的话,小 C 一定保留杀,防止小 D 用斩杀死自己,并尽可能出斩,消耗小 D 的杀,防止被小 D 用杀杀死自己,所以当小 C 无法赢得游戏时,如果 d 1 > c 2 + c 3 d_1>c_2+c_3 d1>c2+c3 或者 d 3 > c 1 d_3>c_1 d3>c1,那么小 D 可以赢得游戏。

如果小 D 此时还是无法赢得游戏,那么小 D 也会保留杀,尽可能出斩,防止被小 C 用杀或斩杀死自己,所以小 C 还是无法杀死小 D ⋯ \cdots

所以后续就是平局。

AC code

#include<bits/stdc++.h>
using namespace std;
#define ok continue
int T,c1,c2,c3,d1,d2,d3;
int main()
{
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d%d%d%d%d",&c1,&c2,&c3,&d1,&d2,&d3);
		if(c1>d2||c3>d1){printf("C\n");continue;}
		if(d1>c2+c3||d3>c1){printf("D\n");continue;}
		printf("E\n");
	}
	return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值