Time Limit: 1000ms
Case Time Limit: 1000ms
Memory Limit: 65536KB
64-bit integer IO format: %lld      Java class name: Main
Submit Status PID: 34971
Font Size:  +   -

YamaTeH有一个桶,桶里面开始有一个黑球和一个白球。但是YamaTeH想变出2n个球来玩,于是他购买了邪影镜!只要把一个球照一下就会分裂成2个和原来一样的球!为了防止同时将鬼也复制出来,zbw把灯关了(其实是断电了我会乱说。。于是YamaTeH只好随意从桶中抓球。。然后进行复制在放回去。。直到凑齐2n个球为止。。这时。。电来了。。YamaTeH数了数发现黑球与白球差好多。。于是乎百思不得其解。。最后只好认为见的鬼太多了使得自己的RP负无穷导致的。。这时他希望能够知道黑球与白球数量差小于等于k的概率来确定自己的RP究竟有多差。。由于YamaTeH对于小数极为讨厌所以希望你能给他最简分数的形式(0输出0/1, 1输出1/1)。

Input

首先一个数c表示数据组数。接下来的c行每行2个数字n, k(n, k <= 1000),表示YamaTeH希望变出总计n个球(n为偶数), 希望得知黑球数量与白球数量差的绝对值小于等于k的概率。

Output

对已每组数据,输出形如A/B的形式,表示所求的概率的最简分数形式(即gcd(A, B) == 1)。

Sample Input

2
2 0
2 1

Sample Output

1/1
1/1
狠风骚的一道推公式找规律的题。
如果你仔细画了图的话。
你会发现,(用(i,j)记白球i个,黑球j个)
总球数    可能的情况及概率
2            (1,1)  1/1
3             (2,1) 1/2    (1,2)  1/2
4             (3,1)  1/3   (2,2) 1/3   (1,3)  1/3
......
依此类推,总球数为n的每种情况的概率均为1/(n-1);
我们现在要求相差绝对值为k的概率。。。
直接找出有x个,答案就是x/(n-1);
最后输出之前用化成最简,即求最大公约数然后同除以那个数。
剩下的就是分情况讨论求出x了,这个就是小学生问题了。
另注意概率为1输出1/1,概率为0输出0/1就好。
#include <stdio.h>
#include <fstream>
#include <string.h>
#include <iostream>
#include <math.h>
#include <algorithm>
#include <vector>
#include <map>
#define PI 3.1415926
#define M 2005  //10^5
#define eps 1e-8
#define moo 1000000007
using namespace std;int main ()
{int n,k,t,TT;scanf("%d",&TT);while (TT--){scanf ("%d%d",&n,&k);if(n<=1){cout<<"0/1"<<endl;continue;}if(n%2==0)t=0;if(n%2!=0){if(k==0){cout<<"0/1"<<endl;continue;}else{t=1;}}int ans=0;for(;t<=k&&t<=n-2;t=t+2){ans++;}if(n%2==0){ans=(ans-1)*2+1;}else{ans=ans*2;}int a1=ans;int a2=n-1;while(a2%a1!=0){int tt=a2%a1;a2=a1;a1=tt;}ans=ans/a1;a2=(n-1)/a1;}return 0 ;
}

BNUOJ 34971 BALLS相关推荐

  1. BNUOJ 52305 Around the World 树形dp

    题目链接: https://www.bnuoj.com/v3/problem_show.php?pid=52305 Around the World Time Limit: 20000msMemory ...

  2. 例题6-6 小球下落(Dropping Balls, UVa 679)

    例题6-6 小球下落(Dropping Balls, UVa 679) 许多的小球一个一个的从一棵满二叉树上掉下来组成一个新满二叉树,每一时间,一个正在下降的球第一个访问的是非叶子节点.然后继续下降时 ...

  3. AC日记——Red and Blue Balls codeforces 399b

    399B - Red and Blue Balls 思路: 惊讶的发现,所有的蓝球的消除都是独立的: 对于在栈中深度为i的蓝球消除需要2^i次操作: 代码: #include <cstdio&g ...

  4. HEU 4048 Picking Balls

     1/**//**************************************  2Problem: HEU 4048 Picking Balls  3Time: 0.0000 s  4M ...

  5. POJ 3687 Labeling Balls(拓扑序列)

    Labeling Balls   大意:n个重量分别为1-n的小球,给定一些小球间的重量关系. 在符合重量关系的前提下,先输出编号小的球. 思路:也是一道很简单的拓扑排序,不过要倒着来,注意一下要判重 ...

  6. IndiaHacks 2016 - Online Edition (Div. 1 + Div. 2) A. Bear and Three Balls 水题

    A. Bear and Three Balls 题目连接: http://www.codeforces.com/contest/653/problem/A Description Limak is a ...

  7. HDU 4611 Balls Rearrangement 数学

    Balls Rearrangement 题目连接: http://acm.hdu.edu.cn/showproblem.php?pid=4611 Description Bob has N balls ...

  8. BNUOJ 34978 汉诺塔

    题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=34978 比赛还剩不到2分钟的时候想到了解法,写好代码提交时卡了一下,出AC结果时比赛已经结 ...

  9. SGU 183. Painting the balls( dp )

    dp..dp(i, j)表示画两个点为i-j, i的最优答案. dp(i, j) = min{ dp(i-j, k) } + cost[i] (1≤k≤M-j) 令f(i, j) = min{dp(i ...

最新文章

  1. python代码大全p-[译]让你的Python代码优雅又地道
  2. Model/View 教程
  3. SpringMVC经典系列-14自己定义SpringMVC的拦截器---【LinusZhu】
  4. OpenYurt开箱测评|一键让原生K8s集群具备边缘计算能力
  5. Spring Boot文档阅读笔记-构建Restful风格的WebService客户端
  6. printf输出字符串_c语言入门 第十二章 字符串
  7. Tomcat假死的原因及解决方案
  8. Linux之交叉编译器的构建
  9. Android图片剪裁库:uCrop
  10. 龙威PS305D维修案例收集
  11. python怎么爬虎牙_Python_虎牙妹子爬虫实现
  12. eclipse 启动失败,出现hs_err_pid972.log类文件,文件中含JavaThread Bundle File Closer daemon类内容
  13. 多种消息提醒系统的设计模式、实现方案(附功能截图+表结构)
  14. [WDS] Disconnected!问题解决
  15. Loki 学习总结(1)—— Loki 中小项目日志系统的不二之选
  16. VMware软件虚拟机不能全屏
  17. 榜单发布!国产智能驾驶域控制器市场竞争力TOP10供应商
  18. his系统服务器选择,我院完成HIS服务器及数据库的升级改造
  19. Web前端学习笔记01:Web标准_HTML_lang_字符集_HTML标签的语义化
  20. pandas +re获取pubmed中文献的标题和摘要

热门文章

  1. 正确搭配食物让饮食更有营养
  2. 嵌入式工程师学习路线
  3. js获取唯一设备码_用js加Active 实现读取机器码,实现唯一计算机访问
  4. jQuery 过滤方法
  5. 如何知道页面浏览时长?
  6. dedecms 后台修改系统设置,但是config.cache.inc.php文件不能写入
  7. php cmd 远程关机 权限,如何对电脑进行远程关机,远程关机命令操作方法介绍
  8. 【C陷阱与缺陷】----语法陷阱
  9. Jsp+Servlet基于B2C的网上拍卖系统_秒杀与竞价
  10. 使用Dockerfile构建Docker镜像