zoukankan      html  css  js  c++  java
  • Domination

    题目链接

     1 #include <bits/stdc++.h>
     2 using namespace std;
     3 typedef long long ll;
     4 inline ll read(){
     5     int x = 0, f = 1; char ch = getchar();
     6     while(ch > '9' || ch < '0'){if (ch == '-') f = -1; ch = getchar();}
     7     while(ch >= '0' && ch <= '9'){ x = x*10+ch-'0'; ch = getchar();}
     8     return x*f;
     9 }
    10 
    11 /************************************************************************/
    12 
    13 const int maxn = 50;
    14 int n, m;
    15 double dp[maxn*maxn*2][maxn][maxn];
    16 
    17 int main(){
    18     int t; 
    19     t = read();
    20     while(t--){
    21         n = read(); m = read();
    22         memset(dp, 0, sizeof(dp));
    23         dp[1][1][1] = 1;
    24         for(int i = 1;i <= n*m;i++){
    25             for(int j = 1;j <= n;j++){
    26                 for(int k = 1;k <= m;k++){
    27                     if(dp[i][j][k]){
    28                         dp[i+1][j+1][k] += dp[i][j][k] * (n-j)*k/(1.0*(n*m-i));
    29                         dp[i+1][j][k+1] += dp[i][j][k] * (m-k)*j/(1.0*(n*m-i));
    30                         dp[i+1][j+1][k+1] += dp[i][j][k] * (n-j)*(m-k)/(1.0*(n*m-i));
    31                         if(j < n || k < m)
    32                             dp[i+1][j][k] += dp[i][j][k] * (j*k-i)/(1.0*(n*m-i));
    33                     } 
    34                 }
    35             }
    36         }
    37         double ans = 0.0;
    38         for(int i = 1;i <= n*m;i++){
    39             ans += dp[i][n][m]*i;
    40         }
    41         printf("%.12lf
    ", ans);
    42     }
    43     return 0;
    44 }
  • 相关阅读:
    CSS的应用
    关于新手html的认识 以及对table的基本用法
    javascript的使用方法
    CSS的使用方式和选择器的用法
    html基础知识点
    前端课堂第四课
    前端课堂第三课
    前端实训第二课
    前端实训随笔
    JS02
  • 原文地址:https://www.cnblogs.com/ouyang_wsgwz/p/9766518.html
Copyright © 2011-2022 走看看