码迷,mamicode.com
首页 > 其他好文 > 详细

淘汰赛制

时间:2017-08-22 16:48:08      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:int   1.0   else   ble   code   pre   family   strong   main   

P1769 淘汰赛制_NOI导刊2010提高(01)

我进行了分组,1组和2组打,3组和4组打,

举个例子,在84的比赛中62组,和1组的打,1胜出的概率*6打败1的概率,求和之后,再*当前6从上一轮胜出的概率,最后求最大即可。

 

#include<bits/stdc++.h>
using namespace std;
int n,m,x;
double p[1300][1300];
double f[13][1300];
int main()
{
  cin>>n;
  m=(1<<n);
  for(int i=1;i<=m;i++)
    for(int j=1;j<=m;j++)
    {
        cin>>p[i][j];
        p[i][j]/=100.0;
    }
      
  for(int i=1;i<=m;i++)
    f[0][i]=1.0;
  for(int i=1;i<=n;i++)
  {
      x=(1<<(i-1));
      int num1,num2;
      for(int j=1;j<=m;j++)
      {
          num1=(j+x-1)/x;//向下取整 
        if(num1%2==1)
        num2=num1+1;
        else
        num2=num1-1;
        double sum=0.0;
        for(int k=(num2-1)*x+1;k<=num2*x;k++)
        {
           sum+=p[j][k]*f[i-1][k];
        }
        f[i][j]=sum*f[i-1][j];
    }
  }
  double Max=0.0;
  int ans;
  for(int i=1;i<=m;i++)
  {
      if(f[n][i]>Max)
      {
          Max=f[n][i];
          ans=i;
      }
   } 
   cout<<ans;
return 0;
}

 

淘汰赛制

标签:int   1.0   else   ble   code   pre   family   strong   main   

原文地址:http://www.cnblogs.com/war1111/p/7412223.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!