poj 3071 Football

题目大意:有2^n个队伍,输入每个队赢其他队伍的概论,求出最可能拿冠军的队伍

#include 
#include 
#include 
#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<>(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<ans){
                ans=dp[n][i];
                idx=i+1;
            }

    printf("%d\n",idx);}
    return 0;
}


你可能感兴趣的:(ACM-dp)