TLE求助
查看原帖
TLE求助
799787
jianxian楼主2024/6/17 16:42
#include<bits/stdc++.h> 
using namespace std;
const int N=20101,INF=0x3f3f3f3f;
int from[N],to[N],w[N],idx,n,m,s,dis[N],t;
void add(int a,int b,int c){
	from[++idx]=a;
	to[idx]=b;
	w[idx]=c;
	dis[a]=idx; 
}
bool bel(){
	for(int i=1;i<=n;i++){
		dis[i]=INF;
	}
	dis[s]=0;
	for(int i=1;i<=n-1;i++){
		for(int j=1;j<=m*2;j++){
			int u=from[j],v=to[j],we=w[j];
			if(dis[v]>dis[u]+we)
			dis[v]=dis[u]+we;
		}
	}
}
int main()
{
	cin>>n>>m>>s>>t;
	for(int i=1;i<=m;i++){
		int a,b,c;
		cin>>a>>b>>c;
		add(a,b,c);
		add(b,a,c);
	}
	bel();
	if(dis[t]==INF)
	cout<<-1;
	else
	{
		cout<<dis[t]<<endl;
	 } 
	return 0;
}
2024/6/17 16:42
加载中...