Robot HDU - 4576

Michael has a telecontrol robot. One day he put the robot on a loop with n cells. The cells are numbered from 1 to n clockwise. 



At first the robot is in cell 1. Then Michael uses a remote control to send m commands to the robot. A command will make the robot walk some distance. Unfortunately the direction part on the remote control is broken, so for every command the robot will chose a direction(clockwise or anticlockwise) randomly with equal possibility, and then walk w cells forward. 
Michael wants to know the possibility of the robot stopping in the cell that cell number >= l and <= r after m commands. 

Input

There are multiple test cases. 
Each test case contains several lines. 
The first line contains four integers: above mentioned n(1≤n≤200) ,m(0≤m≤1,000,000),l,r(1≤l≤r≤n). 
Then m lines follow, each representing a command. A command is a integer w(1≤w≤100) representing the cell length the robot will walk for this command.   
The input end with n=0,m=0,l=0,r=0. You should not process this test case. 

Output

For each test case in the input, you should output a line with the expected possibility. Output should be round to 4 digits after decimal points.

Sample Input

3 1 1 2
1
5 2 4 4
1
2
0 0 0 0

Sample Output

0.5000
0.2500

概率dp AC的C++程序如下:

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;
double dp[2][220];
int main()
{
	int n,m,l,r;
 while(scanf("%d%d%d%d", &n, &m, &l, &r) == 4)
 {
 	if(n == 0 && m == 0 && l == 0 && r == 0) break;
 	dp[0][0]=1;
 	for (int i = 1; i < n; i++)
            dp[0][i] = 0;
    int now=0;
 	while(m--)
 	{
 		int com;
 		scanf("%d",&com);
 		for(int i=0;i<n;i++)
 		{
 		   dp[now^1][i]=0.5*dp[now][(i-com+n)%n]+0.5*dp[now][(i+com)%n];
 		  
		 }
		now^=1;
	 }
	  double ans=0;
	    for(int i=l-1;i<r;i++)
		 {
		 	ans+=dp[now][i];
		 }
	 printf("%.4lf\n",ans);
 }
 return 0;
 } 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: robotframework-ride是一个基于Python编写的自动化测试工具,它可以帮助测试人员快速创建和运行自动化测试用例。安装robotframework-ride需要先安装Python和pip,然后使用pip命令安装robotframework-ride。具体步骤如下: 1. 安装Python:从Python官网下载并安装Python,建议安装最新版本的Python。 2. 安装pip:pip是Python的包管理工具,可以使用pip安装和管理Python包。在安装Python时,pip已经被自动安装了。可以通过运行pip --version命令来检查pip是否已经安装。 3. 安装robotframework-ride:使用pip命令安装robotframework-ride,可以使用以下命令: pip install robotframework-ride 4. 启动robotframework-ride:安装完成后,可以通过运行ride.py文件启动robotframework-ride。可以在命令行中输入以下命令: python -m robotide.__init__ 或者直接双击ride.py文件启动。 安装完成后,就可以使用robotframework-ride创建和运行自动化测试用例了。 ### 回答2: Robot Framework是一个通用的自动化测试框架,可以用来测试各种应用程序和Web应用程序。RIDE(Robot Framework Integrated Development Environment)是一个基于Python的集成开发环境,使用RIDE工具可以大大减轻测试用例的编写和管理负担。RIDE支持使用Python或Robot Framework的打印输出,实时编辑测试数据和测试套件,以便于开发人员和测试人员开发和维护测试用例。 安装RIDE有几种不同的方法,可以选择最适合你的环境的方法。以下是安装RIDE的步骤: 1. 安装Python:在安装RIDE之前,需要在计算机上安装Python 2.7版本或Python 3.X版本,根据需要选择版本。 2. 安装wxPython:RIDE使用wxPython提供GUI,因此需要安装wxPython库。可以在官网下载:https://www.wxpython.org/pages/downloads/。根据需要选择相应的版本,下载完之后直接运行安装程序进行安装即可。 3. 安装Robot Framework:在安装RIDE之前,需要安装Robot Framework。可以使用pip命令进行安装。在命令提示符中输入以下命令即可:pip install robotframework 4. 安装RIDE:在安装完上述软件之后,就可以开始安装RIDE了。可以从官方网站下载RIDE,下载地址为:http://code.google.com/p/robotframework-ride/downloads/list。在下载完成之后,解压缩文件并运行RIDE.bat文件即可启动RIDE。这里需要注意的是,必须使用管理员身份运行RIDE.bat。 5. 配置RIDE:在RIDE启动后,需要进行一些配置。首先,需要配置Robot Framework的路径。在菜单中选择“Tools” > “Preferences”,然后在“Plugins”选项卡中选择“RobotFramework”,在“Executable”字段中输入Robot Framework安装目录的完整路径。然后,可以选择“Editor”选项卡来配置编辑器首选项。此外,还可以在其他选项卡中配置更多选项,如自动保存机制等。 以上就是Robot Framework- RIDE安装的步骤,根据这些步骤进行安装,可以使您简单高效地进行测试用例的管理和编写,提交测试工作效率。 ### 回答3: Robot Framework是一种通用的自动化测试框架,它支持各种不同类型的测试,包括Web、移动、API等。Robot Framework的优点在于它可以轻松地创建可读性强、易于维护的测试用例。 同时,Robot Framework也提供了许多工具来简化测试执行,其中一个常用的工具就是RIDE。RIDE是Robot Framework的官方开发IDE,它提供了一个用户友好的界面,使得创建、编辑和运行测试用例变得更加容易。 下面我们来看一下如何安装RIDE: 1. 安装Python 首先需要安装Python 2.7.x 版本的解释器,请从Python官方网站 https://www.python.org/downloads/ 下载Python 2.7.x版本的32位或64位安装程序,根据自己的操作系统和PC硬件配置选择对应的版本。 2. 安装wxPython RIDE使用wxPython实现了它的用户界面。你需要安装wxPython来运行RIDE。可以使用Python的包管理器pip来安装wxPython,如下: 打开控制台并执行以下命令: pip install wxPython 3. 安装Robot Framework和RIDE 接下来我们需要安装Robot Framework和RIDE。同样可以使用pip命令管理器完成安装。在控制台输入以下命令: pip install robotframework pip install robotframework-ride 4. 运行RIDE 安装完成后,在文件资源管理器中定位到安装目录,双击‘ride.py’文件运行RIDE。如果RIDE成功启动,你将会看到RIDE的主界面。 5. 创建测试用例 点击‘Create a new test case file’按钮,输入文件名并以“.txt”为文件扩展名。文件将保存在你选择的路径下。使用文本编辑器的语法,你可以轻松地创建测试用例。 以上就是Robot Framework-RIDE的安装过程,通过这篇教程,你应该可以轻松地完成一个新的测试项目并开始优化你的测试流程。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值