2020-CCPC秦皇岛赛区-A题

it2026-01-11  8

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!

最新回复(0)