• hdu 5001


    每次去掉不包括的那个点,求到其他点的概率即可。用dp[d][n]表示第d步走到n的概率


    #include <iostream>
    #include <stdio.h>
    #include <cmath>
    #include <algorithm>
    #include <iomanip>
    #include <cstdlib>
    #include <string>
    #include <memory.h>
    #include <vector>
    #include <queue>
    #include <stack>
    #include <map>
    #include <set>
    #include <ctype.h>
    #define INF 1000000000000000010LL
    typedef long long ll;
    
    
    using namespace std;
    
    vector<int> q[55];
    int num[55];
    double dp[10010][55];
    
    int main()
    {
        int t;
        scanf("%d",&t);
        while(t--)
        {
            memset(q,0,sizeof(q));
            memset(num,0,sizeof(num));
    
            int n,m,d;
            cin>>n>>m>>d;
    
            for(int i=1; i<=m; i++)
            {
                int u,v;
                scanf("%d%d",&u,&v);
                q[u].push_back(v);
                q[v].push_back(u);
                num[u]++;
                num[v]++;
            }
            for(int i=1; i<=n; i++)
                dp[0][i]=(1.0/n);
    
            for(int sta = 1; sta <= n; sta++)
            {
                for(int i=1; i<=d; i++)
                {
                    for(int j=0; j<=n; j++)dp[i][j]=0.0;
                }
                for(int i = 1; i <= d; i++)
                {
                    for(int j = 1; j <= n; j++)
                    {
                        if(j == sta)
                            continue;
                        for(int k = 0; k < num[j]; k++)
                        {
                            if(q[j][k] == sta)
                                continue;
                            dp[i][q[j][k]] += dp[i-1][j]/num[j];
                        }
                    }
                }
                double ans=0;
                for(int i=1; i<=n; i++)
                {
                    ans+=dp[d][i];
                }
                printf("%.10lf
    ",ans);
            }
    
        }
        return 0;
    }
    

      

  • 相关阅读:
    格式化你的git message
    git merge
    Git远程操作详解
    Limit
    EmailService
    RequestContextHolder getHttpServletRequest
    spring boot GlobalExceptionHandler @RestControllerAdvice @ExceptionHandler
    redis 的雪崩和穿透?
    FileUtil
    getWeekDay TimeUtil
  • 原文地址:https://www.cnblogs.com/Przz/p/5409766.html
Copyright © 2020-2023  润新知