11 条题解

  • 1
    @ 2023-5-26 17:59:09
    #include<bits/stdc++.h>
    using namespace std;
    #define endl "\n"
    #define int long long 
    const int MAXN=100000;
    const int INF=0x1f1f1f1f1f1f1f1f;
    int n,m;
    vector<pair<int,int> > e[MAXN+5];
    double dp[MAXN+5];
    double dfs(int u,int fa)
    {
    	if(u==n||dp[u])
    		return dp[u];
    	double res=0;
    	int k=e[u].size();
    	for(int i=0;i<e[u].size();i++)
    	{
    		int v=e[u][i].first;
    		int w=e[u][i].second;
    		if(v==fa)
    			continue;
    		res+=(dfs(v,u)+w)/k;
    	}
    	return dp[u]=res;
    }
    signed main()
    {
    //	ios::sync_with_stdio(false);
    //	cin.tie(0);
    	cin>>n>>m;
    	for(int i=1;i<=m;i++)
    	{
    		int u,v,w;
    		cin>>u>>v>>w;
    		e[u].push_back(make_pair(v,w));
    	}
    	cout<<fixed<<setprecision(2)<<dfs(1,-1)<<endl;
    	return 0;
    }
    
    • @ 2023-5-26 18:15:49

      为什么不能建无向图捏,因为无向图是环啊!!!!!!!!👎

信息

ID
1283
时间
1000ms
内存
256MiB
难度
9
标签
递交数
10
已通过
10
上传者