P9586 游戏

思路

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

因为一次可以出任意张杀和斩,所以当 c1>d2 或者 c3>d1 时,小 C 可以直接通过出杀和斩赢得游戏。

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

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

所以后续就是平局。

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;
}
posted @   One_JuRuo  阅读(51)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示