题意:
两个人在玩剪刀石头布,每一种都有各自的卡牌数,求第二个人赢的最大期望值
思路:
因为第一个人出牌是随机的,所以直接从第二个人看,假设第二个人出了剪刀,那么他的得分就是此人的剪刀*布的概率-剪刀*石头的概率,也就是 ,以此类推
代码:
#include<bits/stdc++.h>
using namespace std;
long long gcd(long long a, long long b){
if(a<0){
a=-a;
}
return a == 0 ? b : gcd(b % a, a);
}
int main(){
int t;
scanf("%d",&t);
while(t--){
long long a1,b1,c1;
long long a2,b2,c2;
long long mark=1;
scanf("%lld %lld %lld",&a1,&b1,&c1);
scanf("%lld %lld %lld",&a2,&b2,&c2);
long long n=a1+b1+c1;
long long ans=a2*(c1-b1)+b2*(a1-c1)+c2*(b1-a1);
long long x=gcd(ans,n);
if(ans%n!=0)
printf("%lld/%lld\n",ans/x,n/x);
else{
printf("%lld\n",ans/n);
}
}
}