标签:Plan other row sample expect eof include color out
InputThere are multiple test cases.
Each test case contains several lines.
The first line contains two integers N(1≤N≤100000) and M(0≤M≤1000).
Then M lines follow, each line contains two integers Xi,Yi(1≤Xi<Yi≤N).
The input end with N=0, M=0.
OutputFor each test case in the input, you should output a line indicating the expected dice throwing times. Output should be rounded to 4 digits after decimal point.
Sample Input
2 0 8 3 2 4 4 5 7 8 0 0
Sample Output
1.1667 2.3441
飞行棋求步数期望。
逆推求期望典型。dp[i]下标状态为所在位置,值为步数。
#include<bits/stdc++.h> #define MAX 100010 using namespace std; typedef long long ll; int f[MAX]; double dp[MAX]; int main() { int t,n,m,i,j; int x,y; while(scanf("%d%d",&n,&m)&&n+m){ memset(f,-1,sizeof(f)); memset(dp,0,sizeof(dp)); for(i=1;i<=m;i++){ scanf("%d%d",&x,&y); f[x]=y; } dp[n]=0; for(i=n-1;i>=0;i--){ if(f[i]>-1){ dp[i]+=dp[f[i]]; } else{ for(j=1;j<=6;j++){ if(i+j>n) break; dp[i]+=1.0/6*dp[i+j]; } dp[i]++; } } printf("%.4f\n",dp[0]); } return 0; }
HDU - 4405 Aeroplane chess(概率dp)
标签:Plan other row sample expect eof include color out
原文地址:https://www.cnblogs.com/yzm10/p/9678088.html