Codeforces 9A A. Die Roll(数学+概率 → 水题)

Rating 800 总目录
题目链接入口
题目描述
有三个人 Yakko(♂), Wakko(♂),和 Dot(♀),他们分别想去一个地方。但是他们假期时间不够,三个人只能去同一个地方。通过掷骰子,决定哪个地方。方案是:谁掷的点数大,去谁想去的地方。出于绅士风度,如果Dot掷的点数与他们俩相同,则去Dot想去的地方。现在给出Yakko和Wakko掷骰子的点数 Y,W,求能去Dot想去的地方的概率。
输入
注意:题目要求只输出一行数据,Yakko和Wakko掷骰子的点数 Y,W
输出
以不可约分数的形式输出所需的概率,格式为«A/B»,其中A-分子,B-分母。如果所需概率等于零,则输出«0/1»。如果所需概率等于1,则输出«1/1»。
案例
输入案例
4 2
输出案例
1/2

题解:
先看Yakko和Wakko掷的点数分类讨论:

  1. 如果Yakko和Wakko掷的点数均为1,则有1/1的概率
  2. 如果Yakko和Wakko掷的点数最大为2,则有5/6的概率
  3. 如果Yakko和Wakko掷的点数最大为3,则有2/3的概率
  4. 如果Yakko和Wakko掷的点数最大为4,则有1/2的概率
  5. 如果Yakko和Wakko掷的点数最大为5,则有1/3的概率
  6. 如果Yakko和Wakko掷的点数最大为6,则有1/6的概率
#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#include<algorithm>

#define IOS ios::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ll long long
#define int ll
#define INF 0x3f3f3f3f
using namespace std;
int read()
{
	int w = 1, s = 0;
	char ch = getchar();
	while (ch < '0' || ch>'9') { if (ch == '-') w = -1; ch = getchar(); }
	while (ch >= '0' && ch <= '9') { s = s * 10 + ch - '0';    ch = getchar(); }
	return s * w;
}
//------------------------ 以上是我常用模板与刷题几乎无关 ------------------------//
signed main()
{
	int y = 0, w = 0;
	scanf("%lld%lld", &y, &w);
	int cmp = max(y, w);
	if (cmp == 1)
		printf("1/1\n");
	if (cmp == 2)
		printf("5/6\n");
	if (cmp == 3)
		printf("2/3\n");
	if (cmp == 4)
		printf("1/2\n");
	if (cmp == 5)
		printf("1/3\n");
	if (cmp == 6)
		printf("1/6\n");
	return 0;
}

猜你喜欢

转载自blog.csdn.net/m0_46272108/article/details/108178739