2023年中国大学生程序设计竞赛女生专场题解, K. RSP

Dashboard - 2023年中国大学生程序设计竞赛女生专场 - Codeforces

                                        K. RSP

time limit per test1 second

memory limit per test512 megabytes

input standard input

output standard output

小 A 和小 B 在玩一种叫做石头剪刀布的游戏。

这个游戏的规则很复杂,每一轮游戏小 A 和小 B 都同时在石头、剪刀、布三种里面选择一种,然后石头可以打败剪刀,剪刀可以打败布,布可以打败石头,相同则为平局。

他们玩了一会儿之后就发现只有三种选择太无聊了,于是将游戏拓展成了每次从 n 种里选一个,类似的第 1 种可以打败第 2 种,... 第 n - 1 种可以打败第 n 种,第 n 种可以打败第 1 种,没有胜负关系的均为平局。

因为这个游戏运气成分太强,他们认为只靠一轮定胜负太不公平,于是约定每局游戏玩 m 轮,获胜次数多的获胜。

同时为了游戏更加有策略性,他们约定不能连续出相同的。

假设他们都是绝顶聪明的(会做出净胜期望尽可能大的选择),请你算一算这个游戏的获胜概率。

Input

输入的第一行包含两个整数 n , m (3 ≤ n ≤ 109, 1 ≤ m ≤ 109),表示每次可以选择的数量和一局游戏的轮数。

Output

输出一行 p "/"(不包含")q,表示有 

 的概率获胜,并且为最简分数(p, q 的最大公约数为 1)。

Examples

input

Copy

3 3

output

Copy

1/3

input

Copy

4 1

output

Copy

1/4

解析:

 关键:同时为了游戏更加有策略性,他们约定不能连续出相同的。

第一句游戏一定是靠运气定输赢的,数和赢的概率都是1/n

之后应为双方都决顶聪明,他们约定不能连续出相同的,所以他们可以选择上一局被对方克制的那个数,因为对方不可能再选能克制这个数得数了,因为上一把已经选过了。

所以答案就是第一局赢得概率:1/n

#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>

using namespace std;
int n, m;

int main() {
	cin >> n >> m;
	cout << 1 << "/" << n << endl;
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值