2020-CCPC秦皇岛赛区-A题

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!

猜你喜欢

转载自blog.csdn.net/m0_46288176/article/details/109222607