为什么TLE一个测试点
查看原帖
为什么TLE一个测试点
1333328
Co_Ce楼主2024/8/27 22:00
#include<bits/stdc++.h>

using namespace std;

struct edge{
	long long to;
	long long w;
};

vector<edge>e[100010];

long long n,m,S;

long long d[100010];

int main(){
	cin>>n>>m>>S;
	for(int i=0;i<m;i++){
		long long u,v,w;
		cin>>u>>v>>w;
		e[u].push_back((edge){v,w});
	}
	for(int i=1;i<=n;i++){
		d[i]=(1<<31)-1;
	}
	d[S]=0;
	bool flag;
	do{
		flag=false;
		for(int i=1;i<=n;i++){
			for(int j=0;j<e[i].size();j++){
				if(d[i]+e[i][j].w<d[e[i][j].to]){
					d[e[i][j].to]=d[i]+e[i][j].w;
					flag=true;
				}
			}
		}
	}while(flag);
	for(int i=1;i<=n;i++){
		cout<<d[i]<<" ";
	}
	return 0;
}
2024/8/27 22:00
加载中...