求助
查看原帖
求助
316827
Temperature_automata楼主2020/9/26 11:13
#include <bits/stdc++.h>
using namespace std;

int n,m,s,t;
long long g[10005][10005];
long long c[10005];
bool b[10005];

int main()
{
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
	cin >> n >> m >> s >> t;
	int u,v,w;
	for(int i=1;i<=n;i++)
		for(int j=1;j<=n;j++)
			g[i][j] = 0x7ffffff;
	for(int i=1;i<=m;i++)
	{
		cin>>u>>v>>w;
		g[u][v] = g[v][u] = w;
	}
	for(int i=1;i<=n;i++)	c[i] = g[s][i];
	b[s]=1;
	c[s]=0;
	for(int i=1;i<=n;i++)
	{
		int minl=0x7ffffff;
		int k=0;
		for(int j=1;j<=n;j++)
			if(!b[j]&&c[j]<minl)
				k=j,minl=c[j];
		if(k==0)break;
		b[k]=1;
		for(int j=1;j<=n;j++)
			c[j]=min(c[j],max(g[j][k],c[j]));
	}
	cout<<c[t];
	return 0;
}

已经改成了无向图,但还是有错,请大佬帮忙看看

    感谢
2020/9/26 11:13
加载中...