Greeting from Qinhuangdao
来源:ccpc 2020 女生赛(秦皇岛赛区)A题,测试平台PTA
题意:
给 r个红气球和 b 个蓝气球,从所有气球里面拿两个气球,都是红色的概率,用分数表示。
如果不可能拿到两个红色气球,输出 0/1 。
输入:
第一行一个 T表示测试组数。
之后每一行两个数字 r,b分别表示红蓝气球个数。
1≤T≤10
1≤r,b≤100
输出:
"Case #x: y"格式输出答案,一行一个答案。
样例:
输入:
3
1 1
2 1
8 8
输出:
Case #1: 0/1
Case #2: 1/3
Case #3: 7/30
思路:
很友好的签到题呀⁝⁞⁝⁞ʕु•̫͡•ʔु☂⁝⁞⁝⁝
就是要注意约分哈。
公式就是
代码奉上:
#include<bits/stdc++.h>
using namespace std;
int main ()
{
int t;
scanf("%d",&t);
for(int o=1;o<=t;o++)
{
int r;
int b;
scanf("%d%d",&r,&b);
if(r<2)
{
printf("Case #%d: 0/1\n",o);
continue;
}
long long z=r*(r-1);
long long m=(r+b)*(r+b-1);
long long gcd;//gcd是最大公约数
for(gcd=min(z,m);gcd>=2;gcd--)
if(z%gcd==0&&m%gcd==0) break;
printf("Case #%d: %d/%d\n",o,z/gcd,m/gcd);
}
return 0;
}
然后就完成啦。。。欢迎大家友好评,然后有啥问题欢迎dd!