专栏文章

题解:P14120 [SCCPC 2021] Rock Paper Scissors

P14120题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@minq9lcn
此快照首次捕获于
2025/12/02 06:35
3 个月前
此快照最后确认于
2025/12/02 06:35
3 个月前
查看原文
思路:先尽量做 DG 胜的情况,把这些情况用掉对应的牌。接着尽可能平局。剩下无法平局或胜利的情况就是失败了。
最终分数为胜利数减去失败数。
CPP
#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define cpy(a,b) copy(begin(a),end(a),begin(b))
#define ld long double
#define dot(x) fixed<<setprecision(x)
#define foru(a,b,c) for(ll a=b;a<=c;a++)

ll t;

int main(){
    cin>>t;
    while(t--){
        ll a,b,c,x,y,z,ans;
        cin>>a>>b>>c>>x>>y>>z;

        ll win1=min(a,y),win2=min(b,z),win3=min(c,x);
        a-=win1,y-=win1;
        b-=win2,z-=win2;
        c-=win3,x-=win3;
        ans=win1+win2+win3;

        ll wl1=min(a,x),wl2=min(b,y),wl3=min(c,z);
        a-=wl1,x-=wl1;
        b-=wl2,y-=wl2;
        c-=wl3,z-=wl3;

        ll lo1=min(a,z),lo2=min(b,x),lo3=min(c,y);
        ans-=(lo1+lo2+lo3);

        cout<<ans<<endl;
    }
    return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...