Scout YYF I POJ - 3744
YYF is a couragous scout. Now he is on a dangerous mission which is to penetrate into the enemy’s base. After overcoming a series difficulties, YYF is now at the start of enemy’s famous “mine road”. This is a very long road, on which there are numbers of mines. At first, YYF is at step one. For each step after that, YYF will walk one step with a probability of p, or jump two step with a probality of 1- p. Here is the task, given the place of each mine, please calculate the probality that YYF can go through the “mine road” safely.
Input
The input contains many test cases ended with EOF.
Each test case contains two lines.
The First line of each test case is N (1 ≤ N ≤ 10) and p (0.25 ≤ p ≤ 0.75) seperated by a single blank, standing for the number of mines and the probability to walk one step.
The Second line of each test case is N integer standing for the place of N mines. Each integer is in the range of [1, 100000000].
Output
For each test case, output the probabilty in a single line with the precision to 7 digits after the decimal point.
Sample Input
1 0.5
2
2 0.5
2 4
Sample Output
0.5000000
0.2500000
有n个炸弹在不同的位置,你在1点,往前跳一格的概率是p,跳两格的概率是1-p,你能跳出这些炸弹的概率是多少,
#include<iostream>
#include<cstdio>
#include<iomanip>
#include<cstring>
#include<algorithm>
using namespace std;
class node
{
public:
double mar[3][3];
node()
{
memset(mar,0,sizeof(mar));
}
};
long long a[120];
node mul(node a,node b)
{
node c;
for(long long i = 0; i<2; i++)
{
for(long long j = 0; j<2; j++)
{
for(long long k = 0; k<2; k++)
{
c.mar[i][j] += a.mar[i][k]*b.mar[k][j];
}
}
}
return c;
}
node qui_mul(node a,long long num)
{
node ans;
ans.mar[0][0] = ans.mar[1][1] = 1;
while(num)
{
if(num&1)
{
ans = mul(ans,a);
}
num>>=1;
a = mul(a,a);
}
return ans;
}
int main()
{
ios::sync_with_stdio(false);
long long i,j,m,n,now;
double p;
while(scanf("%lld %lf",&n,&p)!=EOF)
{
node aa,ans,bb;
for(i = 0; i<n; i++)
{
cin>>a[i];
}
sort(a,a+n);
aa.mar[0][0] = p;
aa.mar[0][1] = 1-p;
aa.mar[1][0] = 1;
ans.mar[0][0] =1;
now = 1;
for(i = 0; i<n; i++)
{
long long num = a[i]-now;
bb = qui_mul(aa,num);
ans = mul(bb,ans);
ans.mar[0][0] = 0;
now = a[i];
}
cout<<fixed<<setprecision(7)<<ans.mar[1][0]*(1-p)<<endl;
}
return 0;
}
文章浏览阅读1.3k次。参考:http://www.ctoutiao.com/1037644.html工信部公布2018年智能制造试点示范项目名单,中国航发上海商用航空发动机制造有限责任公司(简称“商发制造”)的商用航空发动机智能装配试点示范位列其中,这无疑肯定了商发制造在智能制造的探索与实践。面对全球范围内新一轮的科技与产业变革,商发制造深刻认识到智能制造将是公司落实创新驱动发展、实现研制模式转型升级以尽快赶超世界...
文章浏览阅读93次。2015二级c语言上机题库22.A。【解析】在程序语句中,k的初始值为5,进行第l次while循环后,k自减l为4,非0,执行循环体里的printf语句,输出k,此时k的值变为l。程序执行第2次循环时,k自减l变为0,为假,退出while循环语句。所以程序的最后结果为l。23.A。【解析】通过地址来引用数组元素的方法有下列5种:(1)a[i][j];(2)*(a[i]+j);(3)*(*(a+j)..._用指针实现,将字符串a中所有下标为奇数(下标从0开始计算)的元素赋给字符串b,
文章浏览阅读147次。1、支持八种原始的数据类型:类型转换的基本方式:gettype()获取数据类型,var_dump打印类型并打印出值字符串布尔:true 和false实际工作中不应该直接将boolean值直接进行判断,而是要用布尔类型的变量。哪些值可以转化为布尔类型的值:空数据和单字符0可转为false,其他不可以。非空非零可以转为true。整型int无论什么进制的数据,最后都是以十进制显示的..._php哪种数据类型可以不赋值就使用
文章浏览阅读1.5k次。以前一直认为jq的(“#id”)与js中的document.getElementById(“id”)是等价的,然后前面刚好写了一个图片轮播的效果,里面js里 刚开始是直接用id名来表示的,但这样的缺点是,直接用id名 定义的是一个全局变量了,如果在大项目中会污染全局变量,所以我打算定义个局部变量来代替 刚开始是直接写了 var demo=(“#id”)与js中的document.getEle_jq $('#id'))是数组还是
文章浏览阅读371次。by deafult,Scheduler will schedule Pods to all available Nodes.But in some situations,we will deploy Pod to assigned Node such as deploying using I/O’s Pod to Node with SSD,using GPU’s Pod to Node wi..._nodeassigned k8s
文章浏览阅读351次。2019年6月20日下午15点,由湖南安全技术职业学院(以下简称:安全职院)机电信息学院主办,美和易思校企共建(软件技术)专业承办的“I 上软件 E享未来”2017级卓越项目发布会在湖南安全职院图书馆五楼视频会议室震撼出演。 本次卓越项目发布会宗旨:为了加强学校人才培养和新兴信息产业需求的有效衔接,加快培育更多高端、优秀软件人才;更是为了提升高校毕业生的就业竞争力,培养具有创新能力和实践能力的高端..._没和意思卓越项目代码
文章浏览阅读1.2k次。本文介绍了ASP+SQL技术开发该系统的子系统的整个过程。该系统主要利用了ASP强大的网络数据库访问技术,实现了毕业设计的网上完成。系统设计并实现了学生题目查询和搜索,题目选择修改删除,老师毕设题目的申报修改,管理员队整个过程的全程监控等等功能。这些功能使得网上毕业设计选题系统简单实用。从而加强毕业设计的管理,提高教师的工作效率,降低教师的工作量。提示以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。第1章引言1.1编写目的省略图3-2业务流程示意图。..._毕业论文源码
文章浏览阅读1k次。重装操作系统的20条原则 系统是否需重装,三条法则帮你忙: 如果系统出现以下三种情况之一,应该是你考虑重装系统的时候了: 1)系统运行效率变得低下,垃圾文件充斥硬盘且散乱分布又不便于集中清理和自动清理; 2)系统频繁出错,而故障又不便于准确定位和轻易解决; 3)系统不能启动。 重新安装系统前,最好先列备份单 在因系统崩溃或出现故障而准备重装系统前,首先应该想到的是备份好自己的数据。这时,一定要静下
文章浏览阅读1.3k次。思路:1、注册BroadcastReceiver,监听"android.intent.action.PACKAGE_REMOVED"系统广播结果:NO。未写代码,直接分析,卸载的第一步就是退出当前应用的主进程,而此广播是在已经卸载完成后才发出的,此时主进程都没有了,去哪onReceive()呢?2、若能收到"将要卸载XX包"的系统广播,在主进程被退出之前就抢先进行反馈处理就好了,可
文章浏览阅读327次。中国人民公安大学Chinese people’public security university网络对抗技术实验报告实验二网络嗅探与欺骗学生姓名李御瑾年级2015级区队..._cainzwb软件下载
文章浏览阅读8.8k次,点赞6次,收藏17次。listview下拉刷新上拉加载扩展(一) http://blog.csdn.net/baiyuliang2013/article/details/50252561 listview下拉刷新上拉加载扩展(二)-仿美团外卖 http://blog.csdn.net/baiyuliang2013/article/details/50253135 listview下拉刷新上拉加载扩展(三)-仿最新版美团外
文章浏览阅读651次。视图及数据备份与还原 视图概念:是一种有结构(有行有列)但是没有结果(不真实存放数据)的虚拟表。来源:结构来源不是自己定义,数据来源也不是来源于虚拟表本身,而是从对应的基表中产生。 视图的创建:基本语法:create view 视图名字 as select 语句(对于这条select语句,可以是普通查询,可以是连接查询,可以是联合查询,可以是子查询)