poj 3071 Football
来源:互联网 发布:apache超时时间设置 编辑:程序博客网 时间:2024/06/03 19:15
题目大意:有2^n个队伍,输入每个队赢其他队伍的概论,求出最可能拿冠军的队伍
#include <iostream>#include <stdio.h>#include <string.h>#define ll long long/*通过二进制可以发现规律,所有高位是一样的,第i位刚好相反,所以用位运算可以巧妙解决,见代码*/using namespace std;double p[200][200];double dp[8][200];int main(){ int n; while(cin>>n) { if(n==-1)break; for(int i=0;i<(1<<n);i++) { for(int j=0;j<(1<<n);j++) scanf("%lf",&p[i][j]); } memset(dp,0,sizeof(dp)); for(int i=0;i<(1<<n);i++)dp[0][i]=1; for(int i=1;i<=n;i++) for(int j=0;j<(1<<n);j++) { for(int k=0;k<(1<<n);k++) { if((j>>(i-1)^1)==(k>>(i-1))) { dp[i][j]+=dp[i-1][j]*dp[i-1][k]*p[j][k];//全概率dp } } } double ans=0; int idx=-1; for(int i=0;i<(1<<n);i++) if(dp[n][i]>ans){ ans=dp[n][i]; idx=i+1; } printf("%d\n",idx);} return 0;}
0 0
- poj 3071 Football
- poj 3071 football
- POJ 3071 Football
- POJ-3071-Football
- poj 3071 Football
- poj 3071 Football
- POJ 3071 Football
- POJ 3071 Football
- POJ 3071 Football
- POJ 3071 Football
- poj 3071 Football
- POJ 3071 Football
- poj 3071 Football DP
- POJ 3071:Football
- POJ 3071 Football
- POJ-3071-Football
- poj-3071-Football
- poj 3071 football
- 整理
- 英文面试问答
- nodejs之node-modules理解
- 基于socket、数据库和java组件实现qq基本通信
- Karma和Jasmine-单元测试
- poj 3071 Football
- lnmp开发环境支持pathinfo
- 你真的会用Gson吗?Gson使用指南(一)
- git和gerrit
- 面试软件工程师非专业问题
- WEB前端面试问题汇总2
- angular2.0 环境搭建
- angular2.0学习笔记
- Scroller的使用详解二(侧滑删除按钮的实现)