题解:P14120 [SCCPC 2021] Rock Paper Scissors
kobebraint · · 题解
思路:先尽量做 DG 胜的情况,把这些情况用掉对应的牌。接着尽可能平局。剩下无法平局或胜利的情况就是失败了。
最终分数为胜利数减去失败数。
#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;
}