1 条题解

  • 0
    @ 2025-8-24 22:49:52

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar Coffee_zzz
    沉覆z

    搬运于2025-08-24 22:49:52,当前版本为作者最后更新于2023-08-07 20:41:02,作者可能在搬运后再次修改,您可在原文处查看最新版

    自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多

    以下是正文


    分析

    简单模拟。

    由于小 C 先手,我们首先分析小 C。

    如果小 C 可以用杀或斩秒掉小 D,那么直接秒就行。

    c1>d2c_1 \gt d_2c3>d1c_3 \gt d_1,则直接输出 C

    如果不满足 c1>d2c_1 \gt d_2c3>d1c_3 \gt d_1,由于双方都是以最优策略进行游戏的,所以小 D 一定不会再给小 C 机会了,所以小 C 没有胜利的可能了,他能做的只有把所有的斩都出掉,让小 D 的杀少一些,而小 C 的杀需要留着,应对小 D 的斩。此时小 D 的杀的数量为 d1c3d_1-c_3

    我们再来分析小 D。

    如果小 D 可以用杀或斩秒掉小 C,那么也直接秒就行。

    d1c3>c2d_1-c_3 \gt c_2d3>c1d_3 \gt c_1,则直接输出 D

    如果不满足 d1c3>c2d_1-c_3 \gt c_2d3>c1d_3 \gt c_1,由于双方都是以最优策略进行游戏的,所以小 D 也没有机会胜利了。此时双方平局,输出 E

    Code

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
    	ios::sync_with_stdio(0);
    	int T,c1,c2,c3,d1,d2,d3;
    	cin>>T;
    	while(T--){
    		cin>>c1>>c2>>c3>>d1>>d2>>d3;
    		if(c1>d2) puts("C");
    		else if(c3>d1) puts("C");
    		else if(d3>c1) puts("D");
    		else if(d1-c3>c2) puts("D");
    		else puts("E");
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    9036
    时间
    1000ms
    内存
    512MiB
    难度
    2
    标签
    递交数
    0
    已通过
    0
    上传者