不知道怎么过的 队友看样例摸出了公式 一顿瞎敲竟然a了..
题意:
a剪刀 b石头 c布
输入6个数 a,b,c(Yuta)a1,b1,c1(Rikka)
a+b+c = a1+b1+c1
求最大获胜概率的值的期望值(最大获胜概率的值*概率)
思路:
看题解把 我也不懂= =
如果ans<0的话先取绝对值 最后答案前面加个负号
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
int main() {
int t;
scanf("%d",&t);
while(t--) {
ll a,b,c;
ll a1,b1,c1;// jiandao shitou zhi
scanf("%lld%lld%lld%lld%lld%lld",&a,&b,&c,&a1,&b1,&c1);
long long ans = a*(b1-c1)+b*(c1-a1)+c*(a1-b1);
int flag = 1;
if(ans < 0) {
ans = abs(ans);
flag = 0;
}
long long anss = __gcd(ans,a+b+c);
if(ans%(a+b+c) == 0) {
if(flag)
printf("%lld\n",(ans/anss)/((a+b+c)/anss));
else printf("-%lld\n",(ans/anss)/((a+b+c)/anss));
} else {
if(flag)
printf("%lld/%lld\n",(ans/anss),((a+b+c)/anss));
else printf("-%lld/%lld\n",(ans/anss),((a+b+c)/anss));
}
}
}