• poj3071


    题目大意,1<<n个球队比赛赛程是这样的

          1

         1    1

               1   1 1  1

    另dp[i][k]为k队进入第i场的概率

    #include<iostream>
    #include<string.h>
    #include<stdio.h>
    using namespace std;
    const int maxa = (1<<8);
    double a[maxa][maxa];
    double dp[8][maxa];
    int main(){
        int n;
        while(scanf("%d", &n)!=EOF){
            if(n == -1){
                return 0;
            }
            for(int i = 0; i < (1<<n); i++){
                for(int k = 0; k < (1<<n); k++)
                    scanf("%lf", &a[i][k]);
            }
            memset(dp, 0, sizeof(dp));
            for(int i = 0; i < (1<<n); i++)
                dp[0][i] = 1;
            for(int i = 1; i <= n; i++){
              //  printf("%d*
    ", i);
                for(int k = 0; k < (1<<n); k++){
                  //  printf("%d ", k);
                    for(int j = k/(1<<i)*(1<<i); j < k/(1<<i)*(1<<i)+(1<<i); j++){
                        if(j/(1<<(i-1)) != k/(1<<(i-1))){
                            dp[i][k] += dp[i-1][j]*a[k][j];
                            //printf("%d ", j);
                        }
                    }//puts("");
                    dp[i][k] = dp[i][k]*dp[i-1][k];
                }
            }
          /*  for(int k = 0; k <= n; k++){
                for(int i = 0; i < (1<<n); i++){
                    printf("%lf ", dp[k][i]);
                }puts("");
            }*/
            double maxn = dp[n][0];
            //printf("%lf
    ", maxn);
            int ans = 0;
            for(int i = 1; i < (1<<n); i++){
                if(dp[n][i] > maxn){
                    maxn = dp[n][i];
                    ans = i;
                }
                //printf("%lf
    ", dp[1][i]);
            }
            printf("%d
    ", ans+1);
    
        }
    }
    View Code
  • 相关阅读:
    A. Difference Row
    B. Fixed Points
    命运
    Climbing Worm
    大学感想
    Constructing Roads
    lintcode605- Sequence Reconstruction- medium- airbnb google
    lintcode616- Course Schedule II- medium
    lintcode615- Course Schedule- medium
    lintcode127- Topological Sorting- medium
  • 原文地址:https://www.cnblogs.com/icodefive/p/4311792.html
Copyright © 2020-2023  润新知