poj 3071 Football(概率动态规划)
2014-07-15 22:14
330 查看
//poj 3071 Football(概率动态规划) /*============================ ^ | 0 1 2 3 4 5 6 7 ---------------------------- 0 | 0 1 2 3 4 5 6 7 1 | 1 0 3 2 5 4 7 6 2 | 2 3 0 1 6 7 4 5 3 | 3 2 1 0 7 6 5 4 4 | 4 5 6 7 0 1 2 3 5 | 5 4 7 6 1 0 3 2 6 | 6 7 4 5 2 3 0 1 7 | 7 6 5 4 3 2 1 0 对于^运算可以很好的运用到全概率公式 =============================*/ #include<stdio.h> #include<iostream> #include<string.h> using namespace std; const int N=130; double p ; double dp [8]; int main() { int n,i,j; while(scanf("%d",&n)==1) { if(n==-1) break; int m=(1<<n); for(i=0;i<m;i++) { for(j=0;j<m;j++) { scanf("%lf",&p[i][j]); } dp[i][0]=1; } int ans=0; for(i=0;i<n;i++) { ans=0; for(j=0;j<m;j++) { double sum=0; //==========全概率算法=============== for(int k=(1<<i);k<(1<<(i+1));k++) { sum+=dp[k^j][i]*p[j][k^j]; } dp[j][i+1]=dp[j][i]*sum; //========================== if(dp[j][i+1]>dp[ans][i+1]) { ans=j; } } } printf("%d\n",ans+1); } return 0; }
相关文章推荐
- POJ 3071 Football 【概率DP】
- poj 3071 Football 概率dp
- POJ 3071 - Football(概率DP 求概率)
- [概率dp] poj 3071 Football
- POJ 3071 Football (概率DP)
- POJ 3071 Football (概率DP)
- POJ 3071-Football(概率dp)
- POJ 3071 Football 概率DP入门
- POJ 3071 Football(概率DP)
- poj 3071 Football(概率dp)
- poj 3071 Football (概率DP)
- poj - 3071 Football (概率dp)
- poj-3071 Football 【概率dp,位运算】
- POJ 3071 Football(概率dp+二进制思想)
- POJ 3071 Football (概率dp)
- poj 3071 Football (概率DP水题)
- POJ 3071 Football 概率dp
- POJ 3071 FootBall 概率dp
- POJ-3071 Football (概率DP)
- poj 3071 Football 概率动态规划