1 条题解

  • 0
    @ 2025-8-24 23:06:17

    自动搬运

    查看原文

    来自洛谷,原作者为

    avatar FeiYu32
    &Cute_Furina||三角洲破产学教父||目前不打算解除禁言,CSP-S保六冲七ing

    搬运于2025-08-24 23:06:17,当前版本为作者最后更新于2024-12-28 16:59:09,作者可能在搬运后再次修改,您可在原文处查看最新版

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

    以下是正文


    思路解析

    根据这道题的输出要求,可以想到对应的做法——即数学中常见的分类讨论。

    首先思考一下输出Divide的情况。如果说车队人数比车队人数的上限还多,那肯定是无解的。

    然后思考一下输出Together的情况。如果无论已经进入的人如何归属,这个车队一定能进入同一个阵营,由于已经排除车队人数比车队人数的上限还多的情况,那么让车队无法进入同一个阵营的最优解就平均分配所有已经在房间中的人,判断人数最少的阵营所剩人数是否放得下整个车队。如果能,那肯定是一定有解的。

    最后由于只有三种情况,那如果以上两种情况都不满足,那就一定是第三种输出Chance的情况了。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int n;
        cin>>n;
        for(int i=1;i<=n;i++)
        {
            int a,b,c,d;
            cin>>a>>b>>c>>d;
            if(c>b)cout<<"Divide"<<endl;
            else if(d/a<=b-c)cout<<"Together"<<endl;
            else cout<<"Chance"<<endl;
        }
    }
    

    完结撒花!

    • 1

    信息

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