zstu 2386 && 1910 poj 3071 概率DP
来源:互联网 发布:lt1953wa淘宝 编辑:程序博客网 时间:2024/05/08 19:50
这两题基本是一样的,模拟球队之间对战、晋级,整个过程就是一颗满二叉树,最终根节点的位置就是冠军
这道题目有一个很神奇的地方,改天我会仔细解释,现在先留着代码
View Code
1 #include<stdio.h>
2 #include<string.h>
3 double p[130][130];
4 double dp[130][8];
5 int main(){
6 int i,j,t,cases=1;
7 char str[20][20];
8 scanf("%d",&t);
9 while(t--){
10 for(i=0;i<16;i++)
11 scanf("%s",str[i]);
12 for(i=0;i<16;i++){
13 for(j=0;j<16;j++){
14 scanf("%lf",&p[i][j]);
15 p[i][j]/=100.0;
16 }
17 dp[i][0]=1;
18 }
19 for(i=0;i<4;i++)
20 for(j=0;j<16;j++){
21 double sum=0;
22 for(int k=(1<<i);k<(1<<(i+1));k++)
23 sum+=dp[k^j][i]*p[j][k^j];
24 dp[j][i+1]=dp[j][i]*sum;
25 }
26 printf("Scenario #%d:\n",cases++);
27 for(i=0;i<16;i++){
28 printf("%-10s",str[i]);
29 printf("%7.2lf\n",dp[i][4]*100);
30 }if(t) puts("");
31 }
32 return 0;
33 }
34 /*
35 Germany 17.69
36 Sweden 3.45
37 Argentina 12.32
38 Mexico 2.65
39 Italy 7.04
40 Australia 1.81
41 Switzerl 2.43
42 Ukraine 3.46
43 England 7.75
44 Ecuador 1.83
45 Portugal 5.19
46 Holland 6.36
47 Brazil 12.20
48 Ghana 0.89
49 Spain 11.47
50 France 3.46
51 */
代码几乎一样
View Code
#include<stdio.h>
#include<string.h>
double p[130][130];
double dp[130][8];
int main()
{
int n,i,j;
while(scanf("%d",&n),n!=-1)
{
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 win;
for(i=0;i<n;i++)
{
win=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[win][i+1]) win=j;
}
}
printf("%d\n",win+1);
}
return 0;
}
- zstu 2386 && 1910 poj 3071 概率DP
- POJ 1414 Life Line (DP & DFS)
- AMP
- AMP
- amp
- POJ1505&&UVa714 Copying Books(DP)
- 【概率dp】POJ 3071
- poj 3071 概率dp
- POj 3071(概率dp)
- poj 3071 概率DP
- poj 3071 概率dp
- POJ 3071 概率DP
- POJ 3071 概率DP
- poj 3071 【概率dp】
- poj 3071 概率dp
- LSA&PLSA—潜在语义模型&概率…
- joj 1089 &&zoj 1060&&poj 1094 以及wa的分析和数据
- poj 3071 概率dp 求概率
- hdu 1507 二分匹配
- poj 2413 JAVA
- poj 3199 高精度 java
- poj 1001 java
- hdu 1509 优先队列
- zstu 2386 && 1910 poj 3071 概率DP
- hdu 1551 二分
- poj 1734 无向图的最小环
- poj 2305 java b进制取余
- linux虚存管理机制
- poj 2084 JAVA 卡特兰数
- hdu 1002 java 大数相加
- hdu 1063 java 高精度
- 斐波那契数 java