Xtreme8.0 - Back to Square 1 数学
Back to Square 1
题目连接:
https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/back-to-square-1
Description
The game “Back to Square 1” is played on a board that has n squares in a row and n-1 probabilities. Players take turns playing. On their first turn, a player advances to square 1.After the first turn, if a player is on square i , the player advances to square i + 1 with probability p(i) , and returns to square 1 with probability 1-p(i) .The player is finished upon reaching square n .
Note: If you are having trouble solving this problem, you can refer to the video on IEEE Academic's Xtreme website, which provides an explanation of this problem.
Input
The input is made up of multiple test cases. Each test case contains 2 lines of input.
The first line in each test case is an integer n , 1 <= n <= 1,000, which represents the number of squares for this test case.
On the next line are n -1 single-space separated floating point numbers, each greater than 0 and less than or equal to 1, representing p(1) , p(2) , p(3) , ..., p(n-1) , respectively.
The input will end with a 0 on a line by itself.
Note: If for an input test case n=1 (i.e. there is only one square) then there will be no following line since there will be no probabilities. For example, the following input:
2
0.5
1
3
0.1 0.2
0
contains in total 3 test cases. The first one having 2 squares with an in-between transition probability equal to 0.5, the second test case consists of a single square (and thus no transition probabilities are provided) and the last test case consists of 3 squares with respective transition probabilities equal to 0.1 and 0.2 .
Output
For each test case, output the expected number of turns needed to reach the final state, rounded to the nearest integer. You are guaranteed that the expected number of turns will be less than or equal to 1,000,000.
Note: Every line of output should end in a newline character .
Sample Input
3
0.5 0.25
0
Sample Output
13
Hint
题意
有n个格子,你有p[i]的概率前进一步,你有(1-p[i])的概率滚回一号点
问你期望走到n号点的概率是多少
题解
倒推之后,就能发现一个傻逼规律
而不像我一样,傻傻的去写高斯消元。。。
代码
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1050;
const double eps = 1e-7;
inline int read(){int x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;}
double dp[2][maxn],ans;
double p[maxn];
int n,m,x,y,now;
int main()
{
while(cin>>n)
{
if(n==0)break;
ans=0;
memset(dp,0,sizeof(dp));
dp[0][1]=1.0;
for(int i=1;i<n;i++)cin>>p[i];
double now = 1;
double ans = 1;
for(int i=n-1;i>=1;i--)
{
now/=p[i];
ans+=now;
}
printf("%.0f\n",ans);
}
}
Xtreme8.0 - Back to Square 1 数学的更多相关文章
- Xtreme8.0 - Magic Square 水题
Xtreme8.0 - Magic Square 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/ ...
- Xtreme8.0 - Kabloom 动态规划
Xtreme8.0 - Kabloom 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kablo ...
- Xtreme8.0 - Kabloom dp
Xtreme8.0 - Kabloom 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/kablo ...
- TensorFlow2.0(二):数学运算
1 基本运算:加(+).减(-).点乘(*).除(/).地板除法(//).取余(%) 基本运算中所有实例都以下面的张量a.b为例进行: >>> a = tf.random.unifo ...
- Codeforces 715A. Plus and Square Root[数学构造]
A. Plus and Square Root time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- Xtreme8.0 - Sum it up 水题
Sum it up 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/sum-it-up Descr ...
- Xtreme8.0 - Play with GCD dp
Play with GCD 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/play-with-g ...
- UVA 11461 - Square Numbers 数学水题
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...
- Xtreme9.0 - Mr. Pippo's Pizza 数学
Mr. Pippo's Pizza 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/mr-pipp ...
随机推荐
- CF&&CC百套计划4 Codeforces Round #276 (Div. 1) E. Sign on Fence
http://codeforces.com/contest/484/problem/E 题意: 给出n个数,查询最大的在区间[l,r]内,长为w的子区间的最小值 第i棵线段树表示>=i的数 维护 ...
- C++ map & set
山东第六届ACM省赛B题 超时代码: #include<iostream> #include<cstdio> #include<string.h> #include ...
- Mac安装WineHQ
下载: (链接: https://pan.baidu.com/s/1o7NPhNk 密码: 5227) 安装: 先决条件: XQuartz>=2.7.7 系统设置允许未签名的包. 在https: ...
- AngularJS开发指南:表达式
---恢复内容开始--- 表达式是类似Javascript的代码片段,通常在绑定中用到,写在双大括号中如{{表达式}}.表达式是用$parse方法来处理的. 下面是一些合法的AngularJS表达式 ...
- zTree的简单例子
<%@ page language="java" pageEncoding="UTF-8" %> <%@ include file=" ...
- 20155339 2016-2017-2 《Java程序设计》第8周学习总结
20155339 2016-2017-2 <Java程序设计>第8周学习总结 教材学习内容总结 第十四章NIO与NIO2 NIO使用频道来衔接数据节点,在处理数据时,NIO可以让你设定缓冲 ...
- ARC 之内存转换
CHENYILONG Blog ARC 之内存转换 技术博客http://www.cnblogs.com/ChenYilong/ 新浪微博http://weibo.com/luohanchenyilo ...
- shell ssh 批量执行
ssh 批量执行命令 #版本1 #!/bin/bash while read line do Ip=`echo $line|awk '{print $1}'` Passwd=`echo $line|a ...
- ant+sonar+jacoco代码质量代码覆盖率扫描
使用ant构建的java web项目如何做sonar代码质量扫描?以下就是实际遇到并成功使用的案例一.做sonar扫描的准备工作 1.给web项目增加build.xml构建脚本. 2.下载 ...
- Loadrunner里面的深入理解Resource 的 0和1
最近在倒腾loadrunner,发现一些非常有意思的配置项,也许同学们平时去玩的时候,没有注意这些点.我也查阅了网上的帖子,说的都不够详细~操作起来的话,同学们也只是看到文字的描述,并不能发现区别.今 ...