HDU-3854 LOOPS
http://acm.hdu.edu.cn/showproblem.php?pid=3853
LOOPS
Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)
Total Submission(s): 2263 Accepted Submission(s):
911
Girl).
Homura wants to help her friend Madoka save the world. But because
of the plot of the Boss Incubator, she is trapped in a labyrinth called
LOOPS.
The planform of the
LOOPS is a rectangle of R*C grids. There is a portal in each grid except the
exit grid. It costs Homura 2 magic power to use a portal once. The portal in a
grid G(r, c) will send Homura to the grid below G (grid(r+1, c)), the grid on
the right of G (grid(r, c+1)), or even G itself at respective probability (How
evil the Boss Incubator is)!
At the beginning Homura is in the top left
corner of the LOOPS ((1, 1)), and the exit of the labyrinth is in the bottom
right corner ((R, C)). Given the probability of transmissions of each portal,
your task is help poor Homura calculate the EXPECT magic power she need to
escape from the LOOPS.
R, C <= 1000).
The following R lines, each contains C*3 real numbers,
at 2 decimal places. Every three numbers make a group. The first, second and
third number of the cth group of line r represent the probability of
transportation to grid (r, c), grid (r, c+1), grid (r+1, c) of the portal in
grid (r, c) respectively. Two groups of numbers are separated by 4
spaces.
It is ensured that the sum of three numbers in each group is 1,
and the second numbers of the rightmost groups are 0 (as there are no grids on
the right of them) while the third numbers of the downmost groups are 0 (as
there are no grids below them).
You may ignore the last three numbers of
the input data. They are printed just for looking neat.
The answer is
ensured no greater than 1000000.
Terminal at EOF
representing the expect magic power Homura need to escape from the
LOOPS.
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
double e[][];
struct node
{
double p1,p2,p3;
}a[][];
int main()
{
int r,c,i,j;
while(~scanf("%d%d",&r,&c))
{
memset(e,,sizeof(e));
for(i=;i<=r;i++)
for(j=;j<=c;j++)
{
scanf("%lf%lf%lf",&a[i][j].p1,&a[i][j].p2,&a[i][j].p3);
}
e[r][c]=;
for(i=r;i>=;i--)
{
for(j=c;j>=;j--)
{
if(i==r&&j==c)
continue;
if(a[i][j].p1==)
continue;
e[i][j]=double(a[i][j].p2*e[i][j+]+a[i][j].p3*e[i+][j]+)/double(-a[i][j].p1); }
}
printf("%.3lf\n",e[][]);
}
return ;
}
HDU-3854 LOOPS的更多相关文章
- HDU 3853 LOOPS 期望dp
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3853 LOOPS Time Limit: 15000/5000 MS (Java/Others)Me ...
- hdu 3853 LOOPS(概率 dp 期望)
Problem Description Akemi Homura is a Mahou Shoujo (Puella Magi/Magical Girl). Homura wants to help ...
- HDU 3853 LOOPS 概率DP入门
LOOPS Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Total Sub ...
- HDU 3853 LOOPS:期望dp【网格型】
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3853 题意: 有一个n*m的网格. 给出在每个格子时:留在原地.向右走一格,向下走一格的概率. 每走一 ...
- hdu 3853 LOOPS (概率dp 逆推求期望)
题目链接 LOOPS Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 125536/65536 K (Java/Others)Tota ...
- HDU 3854 Glorious Array(树状数组)
题意:给一些结点,每个结点是黑色或白色,并有一个权值.定义两个结点之间的距离为两个结点之间结点的最小权值当两个结点异色时,否则距离为无穷大.给出两种操作,一种是将某个结点改变颜色,另一个操作是询问当前 ...
- hdu 3853 LOOPS(基础DP求期望)
题目大意 有一个人被困在一个 R*C(2<=R,C<=1000) 的迷宫中,起初他在 (1,1) 这个点,迷宫的出口是 (R,C).在迷宫的每一个格子中,他能花费 2 个魔法值开启传送通道 ...
- hdu 3853 LOOPS 概率DP
简单的概率DP入门题 代码如下: #include<iostream> #include<stdio.h> #include<algorithm> #include ...
- HDU 3853 LOOPS
题意:对于每一格,都可以往右走,原地不走,往下走,概率分别为a[i],b[i],c[i](每一个格子与其他格子的概率不一定相同).在R*C的棋盘上(输入数据保证不会走出棋盘),求从(0, 0)走到(R ...
- HDU 3853 LOOPS 可能性dp(水
在拐~ #include <stdio.h> #include <cstring> #include <iostream> #include <map> ...
随机推荐
- jquery mobile入门资料
由于项目中用到了,就去看了一下视频,然后进一步的找找资源,最后自己再总结一遍!(就是动手操作一遍,不论你感觉多简单,只有动手之后,你才有可能有收获) 当然如果你喜欢看文档可以到官网仔细研究,不过喜欢快 ...
- BroadcastReceiver和Intetnt的理解 Day34
BroadcastReceiver和Intetnt的理解 Day34 mobile4.0 短信监控 问题堆栈 1. 下载开源项目View.网址自己fork一下 2. ContentProvider原理 ...
- SQL Server中Id自增列的最大Id是多少
什么是自增列 在SQL Server中可以将Id列设为自增.即无需为Id指定值,由SQL Server自动给该列赋值,每新增一列Id的值加一,初始值为1. 需要注意的是即使将原先添加的所有数据都删除, ...
- 解决UICollectionView ReloadData闪一下(隐式动画)
方式一: [UIView setAnimationsEnabled:NO]; [collectionView performBatchUpdates:^{ [collectionView reload ...
- kettle不能正常自动获取字段
Unable to close prepared statement after determining SQL layoutYou have an error in your SQL syntax ...
- header("Location:login.php")
header("Location:login.php")应该注意的几个问题 header("Location:")作为php的转向语句.其实在使用中,他有几点 ...
- 【JAVA集合】HashMap源码分析(转载)
原文出处:http://www.cnblogs.com/chenpi/p/5280304.html 以下内容基于jdk1.7.0_79源码: 什么是HashMap 基于哈希表的一个Map接口实现,存储 ...
- html5+css3实现上拉和下拉刷新
<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content=& ...
- WinFrom ProgressBar控件的使用
在WinForm程序中,大多数情况下我们是知道程序运行所需要的时间或步骤的,比如批量复制文件时文件的数量,数据导出或导入时数据的总行数等等.对于步骤比较确定的操作,如果程序执行过程时间较长,很容易使用 ...
- js 的对象--如何定义一个对象
通过var object={} 对象字面量,可以叫对象直接量来自定义一个对象 对象自面量是一个表达式,这个表达式的每次运算都创建并初始化一个新对象.每次计算对象字面量的时候,也都会计算他的每个属性值 ...