文档章节

7_15_2013 D: 弹球II

電泡泡
 電泡泡
发布于 2013/07/19 18:31
字数 546
阅读 17
收藏 0

Problem D: 弹球II

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 39   Solved: 19
[ Submit][ Status][ Web Board]

Description

游戏厅里有一种很常见的游戏机,里面有很多根管子有规律地排成许多行。小球从最上面掉下去,碰到管子会等概率地往管子左边或者右边的空隙掉下去。不过在最靠边的小球只会往一边掉(如图,灰色小球只可能掉到右边空隙)。现在已知共2 * n - 1行管子,第i行有Ai个管子,如果i是奇数,那么Ai等于m,如果i是偶数,Ai等于m - 1。小球从第1行第k个管子右边掉下去,要求小球从最后一行各个出口掉出来的概率。 

Input

第一行是一个整数t1≤t≤50),表示有t组测试数据。 
每组数据第一行有两个整数n1≤n≤100)和m2≤m≤10),表示有2*n-1行管子,奇数行有m个管子,偶数行有m-1个管子。 
第二行是一个整数k1≤k≤m-1),表示小球从第1行第k个管子右边掉下去。 

Output

输出m-1个小数,第i个数表示小球从最后一行第i个出口出来的概率。 
每个小数保留小数点后六位,小数与小数之间用一个空格隔开。 

Sample Input

1 3 

3 2

Sample Output

0.375000 

0.625000

#include <stdio.h>
#include <string.h>
#include <iostream>
using namespace std;

int
main()
{
	int t, n, m, k;
	double s[210][20];
	scanf("%d", &t);
	while(t--){
		scanf("%d %d %d", &n, &m, &k);
		memset(s, 0, sizeof(s));
		s[1][k]=1;
		for(int i=2; i<=2*n-1; i++){
			for(int j=1; j<=m; j++){
				if(i%2==0){
					s[i][j] = s[i-1][j-1]*0.5 + s[i-1][j]*0.5;
					//printf("i=%d j=%d s[i][j]=%.6lf \n", i, j, s[i][j]);
				}
				else{
					s[i][j] = s[i-1][j]*0.5 + s[i-1][j+1]*0.5;
					if(j==1){
						s[i][j] += s[i-1][j]*0.5;
					}
					if(j==m-1){
						s[i][j] += s[i-1][j+1]*0.5;
						s[i][m]=0;
					} 
				}
			}
		}
		for(int i=1; i<=2*n-1; i++){
			for(int j=1; j<=m; j++){
				printf("%.6lf ", s[i][j] );
			}
			printf("\n");
		}
		
		
		for(int i=1; i<=m-1; i++){
			printf("%.6lf", s[2*n-1][i]);
			if(i!= m)printf(" ");
		}
		printf("\n");
	}
	return 0;
}

© 著作权归作者所有

共有 人打赏支持
電泡泡
粉丝 23
博文 183
码字总数 69717
作品 0
衡阳
私信 提问
QQ2013解析最新QQ加密算法VB登陆方法

http://xmit.org.cn/forum.php?mod=viewthread&tid=3409&extra=page=1&page=1& 今天开始想写个验证QQ密码的工具,以前写过一个QQ验证器的程序,就拿了那个代码试了一下居然不能同。就到QQ登陆...

nothingfinal
2013/10/14
0
0
20130110最新QQ登录密码加密算法

代码如下: function getpassword(username, password, vcode) { var str1 = hexchar2bin(md5(password)); var str2 = md5(str1 + uin2hex(username)); var str3 = md5(str2 + vcode.toUpper......

AdGame
2013/01/10
0
2
MD5 32位加密 只限拼音

var hexcase = 0; var chrsz = 8; function hex_md5(s){ return binl2hex(core_md5(str2binl(s), s.length * chrsz)); } function core_md5(x, len) { x[len >> 5] |= 0x80 << ((len) % 32);......

葉哥
2012/06/12
0
0
有什么工具能获取到全盘文件名还有文件的根路径?

看标题 这是我在网上找的一款名为FileList命令行工具,XP系统下用的,能显示文件名,大小,修改时间,访问时间,创建时间,所有者,路径。但是有乱码,就不能导入PostgreSQL数据库了。大家集...

fumingfu
2013/03/12
329
6
SQLSERVER md5函数

< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> IF EXISTS(SELECT * FROM dbo.sysobjects WHERE id = OBJECT_ID(N'[dbo].[MD5_m_OnBits]') AND xtype ......

技术小美
2017/11/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IOS  学习记录

1.StackView=>IOS 9及以上支持 2.布局方式: AutoLayout / StackView 堆布局 (线性布局) 3.屏幕适配 (资源分辨率、设计分辨率、屏幕分辨率) Size Class技术 可以针对 屏幕的方向进行设置...

萨x姆
55分钟前
3
0
第四次工业革命:自主经济的崛起

https://36kr.com/p/5170370.html

shengjuntu
昨天
3
0
Cloud Native 与12-Factor

12-Factor(twelve-factor),也称为“十二要素”,是一套流行的应用程序开发原则。Cloud Native架构中使用12-Factor作为设计准则。 12-Factor 的目标在于: 使用标准化流程自动配置,从而使...

waylau
昨天
9
0
java多线程2

“非线程安全”问题存在于“实例变量”中,如果是方法内部的私有变量,则不存在线程安全问题。这是因为方法内部的变量都是私有造成的。 synchronized 获取的都是对象锁。如果多个线程访问多个...

一滴水穿石
昨天
4
0
今天的学习

1,document.location.href:获取整个url 2,str.split(' '):用字符分割字符串 3,$this->load->library(' '):引用图像处理类 4,$this->load->library(' '):引用Email类 5,特殊访问指针$th......

墨冥
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部