版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_42391248/article/details/84852392
真的这道题我看不出来什么思路,看大佬的代码思路原来just解一个方程而已,有点无语。。。
样例的解释很关键
有题意可知,不管怎么出硬币,美女要想保证收益,则每次的收益期望是相同的,因此可以列出等式
设美女出正面的概率为p,则出反面的概率为(1-p),因此可以列出方程:
-a*p+(a+b)/2*(1-p)=-b*(1-p)+(a+b)/2*p;
解得p=(a+3b)/(4a+4b);
剩下的只需求分子分母的最大公约数即可。
(原文:https://blog.csdn.net/haut_ykc/article/details/52750969)
#include<iostream>
#include<cmath>
using namespace std;
typedef long long ll;
ll gcd(ll a,ll b)
{
ll temp;
if(a<b)
temp=a,a=b,b=temp;
if(b==0) return a;
return gcd(b,a%b);
}
int main()
{
ll n,m,i,j;
int T;
scanf("%d",&T);
while(T--)
{
scanf("%lld%lld",&n,&m);
ll x=n+3*m;
ll y=4*(n+m);
ll ans=gcd(x,y);
printf("%lld/%lld\n",x/ans,y/ans);
}
}