描述

SJY和CYF在玩一个取数游戏。他们将1~n分别写在n张纸上,随机排成一排,约定SJY先取,只能取走最边上的两张纸之一,然后CYF取;以此循环下去,取到1的人获胜。假设SJY和CYF足够聪明,求SJY获胜的概率。

输入

一个整数n

输出

SJY获胜的概率,保留最简分数形式(若为1,则输出1/1;若为0,则输出0/1)。
样例

样例输入1
2
样例输出1
1/1

样例输入2
3
样例输出2
2/3

数据范围与约定

40%的数据,0<n≤7。
70%的数据,0<n≤1000。
100%的数据,0<n≤1000000000。
样例2说明

共有1、2、3;1、3、2;2、1、3;2、3、1;3、1、2;3、2、1六种可能,其中第1、2、4、6种可能SJY获胜。

题解:

数学分析可以得出:n为1,必胜。否则,n为奇数,只有当头尾为1时先取必胜;n为偶数任何情况必胜。

分析过程:
先考虑一种很特殊的情况:2 1 3。此时显然先取是必败的。
那么当n为奇数且不为1且1不在头尾时,1的位置无论从前向后还是从后向前都是同在奇数或偶数位,那么无论先取一方取哪端,另一方取后都维持了这个性质。只要另一方足够聪明,他一定能使让最后形成 a 1 b 的局面。所以先取必败。
则当n为偶数,先取一方必然可以在取后让剩余的n为奇数,那么后取方就相当于n为奇数时的先取方,是必败的。

总结一下:
n为1或n为偶数,必胜 1/1;
n为奇数(不为1),共n!种排列方式,其中1放在头部的有(n-1)!种,放在尾部相同,胜利的概率为 (n-1)!* 2 / n!= 2/n。

代码:

#include<cstdio>
using namespace std;int main() {int n, x, y;scanf("%d", &n);if(n == 1 || n % 2 == 0) printf("1/1\n");else printf("2/%d\n", n);return 0;
}

[CH Round #61] 取数游戏相关推荐

  1. P1005 矩阵取数游戏(__int128模板/简单dp)

    转跳P1005 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n \times mn×m 的矩阵,矩阵中的每个元素 a_{i,j}a i,j ​ 均为非负整数.游戏规则如下: 每次取数时 ...

  2. 【每日一题】7月10日精讲—矩阵取数游戏

    来源:牛客网: 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  3. 洛谷P1005 矩阵取数游戏 ACM 大数+区间dp

    题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n \times mn×m的矩阵,矩阵中的每个元素a_{i,j}ai,j​均为非负整数.游戏规则如下: 每次取数时须从每行各取走一个元素,共n ...

  4. 【每日DP】day 10、P1005 矩阵取数游戏【区间DP+高精(python)】难度⭐⭐⭐★

    P1005 矩阵取数游戏 输入 2 3 1 2 3 3 4 2 输出 82 说明/提示 NOIP 2007 提高第三题. 数据范围: 60%60\%60% 的数据满足:1≤n,m≤301\le n,m ...

  5. 【洛谷P1288】取数游戏II

    取数游戏II 题目链接 显然,由于一定有一个0,我们可以求出从初始点到0的链的长度 若有一条链长为奇数,则先手可以每次取完一条边上所有的数, 后手只能取另一条边的数,先手必胜: 反之若没有奇数链,后手 ...

  6. 洛谷1005 【NOIP2007】矩阵取数游戏

    问题描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数.游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个.m次后取完矩阵所有元素: 2. ...

  7. 【codevs1166】【noip07TG】矩阵取数游戏,新的开始

    1166 矩阵取数游戏 2007年NOIP全国联赛提高组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description [问题描述] 帅帅经 ...

  8. CCF NOI100002 取数游戏

    问题链接:CCF NOI100002 取数游戏. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 我们来玩一个游戏:自然数1到N,按顺序列成一排,你可以从中取走任意个数,但是相 ...

  9. 【NOIP2007提高组】矩阵取数游戏

    题目背景 NOIP2007提高组试题3. 题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的 n*m 的矩阵,矩阵中的每个元素 aij 均为非负整数.游戏规则如下: 1.每次取数时须从每行各取 ...

最新文章

  1. informix中if else使用_面试官:代码中出现大量的if/else,需要优化,你有什么好方案?...
  2. Intellij IDEA 快捷键整理
  3. python xpath语法-python中使用XPath笔记
  4. Excel导出多sheet单sheet通用型(poi)
  5. quartz 数据库配置
  6. python快速排序代码_Python实现快速排序算法
  7. Java多线程学习七:线程池的 4 种拒绝策略和 6 种常见的线程池
  8. linux之dos2unix命令
  9. linux 分区 LVM 挂载
  10. poj1511 最短路
  11. 如何在Win10中运行Win7小游戏 扫雷,蜘蛛纸牌,红心大战,纸牌,空当接龙?
  12. FlexBuilder 插件
  13. pyautogui 语法记录+休闲辅助工具实现-2021.12.15
  14. UE4(Unreal Engine4)快捷键
  15. Web服务器群集--Nginx网站服务(运行控制,访问状态统计,基于授权和客户端的访问控制,基于域名,端口,IP的虚拟web主机访问)
  16. 动态投资回收期Pt小于计算期n
  17. Win10家庭版打开组策略方式
  18. 刺刀还在,理想已经滑落——“中国黑客”10年嬗变
  19. html bs架构调用客户端打印机用客户端及客户端局域网打印机打印,使用ScriptX.cab控件...
  20. 福州大学计算机考研调剂,2014福州大学计算机考研调剂复试纪实

热门文章

  1. pycharm弹出提示信息Server's certificate is not trusted
  2. c语言使用数组计算最大数。_程序设计入门——C语言_浙江大学_第10次开课
  3. 人类一败涂地电脑版_【游戏资讯】这是PC版塞尔达?终极无敌暴力缝合怪登陆Steam!PS3模拟器更新后可流畅运行美末!...
  4. sqlserver 中统计信息语句
  5. 前端基础——day1
  6. 将输出流转换成输入流
  7. 低版本ulibc支持recvmmsg sendmmsg功能
  8. ATT汇编leave指令
  9. 3D数学基础:图形与游戏开发---随笔四
  10. RTSP再学习 -- Hi3516A RTSP实例