题解:P14120 [SCCPC 2021] Rock Paper Scissors
Crash_Man_CHN · · 题解
题目思路
理论
规则
| 石头 (r) | 布 (p) | 剪刀 (s) | |
|---|---|---|---|
| 石头 (r) | 0 | -1 | 1 |
| 布 (p) | 1 | 0 | -1 |
| 剪刀 (s) | -1 | 1 | 0 |
思路
计算时先求每种正得分对抗的最大可能次数(取双方对应牌数最小值),累加得正分总和;再算负得分对抗(得
题目代码
#include <bits/stdc++.h>
#define int long long
using namespace std;
signed main()
{
int T;
cin>>T;
while(T--)
{
int br,bp,bs;
cin>>br>>bp>>bs;
int dr,dp,ds;
cin>>dr>>dp>>ds;
int a=min(br,dp);//Dp vs Br(得1分)
br-=a;
dp-=a;
int b=min(bp, ds);//Ds vs Bp (得1分)
bp-=b;ds-=b;
int c=min(bs,dr);//Dr vs Bs (得1分)
bs-=c;
dr-=c;
int sum=a+b+c;
int d=min(bp,dr)//Dr vs Bp (得-1分)
int e=min(bs,dp);//Dp vs Bs (得-1分)
int f=min(br,ds);//Ds vs Br (得-1分)
int sum1=-(d+e+f)
cout<<sum+sum1<<"\n";
}
return 0;
}
若有不足之处请多多指教,谢谢各位大佬!!