求各位大佬,0分求调
查看原帖
求各位大佬,0分求调
1346089
JSP11220704楼主2025/7/31 19:50

0分求调

蒟蒻自我感觉没错,样例都不对

感谢各位大佬

#include<bits/stdc++.h>
using namespace std;
const int N=2010;
const int INF=1e9;
double G[N][N], dis[N];
bool vis[N];
int n,m,i,j,k,x,y,minn;
void dijkstra(int x)
{
	memset(dis,0,sizeof dis);
	memset(vis,0,sizeof vis);
	for(int i=1;i<=n;i++)
	{
		dis[i]=G[x][i];
	}
	dis[x]=1;
	vis[x]=1;
	for(int i=1;i<=n-1;i++)
	{
		int minn=INF;
		for(int j=1;j<=n;j++)
			if(!vis[j] && dis[j]<INF)
			{
				k=j;
				minn=dis[j];
			}
		vis[k]=1;
		if(k==y)
		{
			break;
		}	
		for(int j=1;j<=n;j++)
		{
			if(vis[j]==0 && dis[k]*G[k][j]>dis[j])
			{
				dis[j]=dis[k]*G[k][j];
			}
		}	
	}
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=m;i++)
	{
		cin>>j>>k;
		cin>>G[j][k];
		G[j][k]=(100-G[j][k])/100;
		G[k][j]=G[j][k];
	}
	cin>>x>>y;
	dijkstra(x);
	dis[y]=100.0/dis[y];
	cout<<setprecision(8)<<dis[y]<<'\n';
	return 0;
}
/*
3 3                                     
1 2 1
2 3 2
1 3 3
1 3

103.07153164
*/
2025/7/31 19:50
加载中...