http://acm.hdu.edu.cn/showproblem.php?pid=6418
只要分别计算每种牌能够赢和输的期望再加起来即可。
比赛的时候突然想到的。。。
#include<bits/stdc++.h>
#define mod 998244353
using namespace std;
long long qpow(long long x,long long cs)
{
long long ans=1;
while(cs)
{
if(cs&1)
ans=ans*x%mod;
x=x*x%mod;
cs>>=1;
}
return ans;
}
long long gcd(long long x,long long y)
{
if(y==0)
return x;
return gcd(y,x%y);
}
int main(){
int t;
cin>>t;
while(t--)
{
long long a,b,c;
long long aa,bb,cc;
cin>>a>>b>>c;
cin>>aa>>bb>>cc;
long long a1=aa*(c-b);
long long b1=bb*(a-c);
long long c1=cc*(b-a);
long long fm=a+b+c;
long long fz=a1+b1+c1;
if(fz==0)
{
cout<<"0"<<endl;
}
else{
if(fz<0)
{
cout<<"-";
fz=-fz;
}
if(fz%fm==0)
{
long long ans=fz/fm;
cout<<ans<<endl;
}
else{
long long gc=gcd(max(fz,fm),min(fz,fm));
fz/=gc;
fm/=gc;
cout<<fz<<"/"<<fm<<endl;
}
}
}
return 0;
}