求助
查看原帖
求助
757214
Gohldg楼主2023/6/11 10:35
#include <bits/stdc++.h>
using namespace std;
int dis[1000001];
int u[1000001],v[10000001],w[1000001];
int n,m,t;
int main(){
	cin>>t;
	for(int k=1;k<=t;k++){
		cin>>n>>m;
		for(int i=1;i<=m;i++)
			cin>>u[i]>>v[i]>>w[i];
		for(int i=1;i<=n;i++)
			dis[i]=1e9+1; 
		for(int i=1;i<n;i++){
			int use=0;
			for(int j=1;j<=m;j++){
				if(dis[v[i]]>dis[u[i]]+w[i]){
					dis[v[i]]=dis[u[i]]+w[i];
					use=1;
				}
			}
			if(use==0){
				cout <<"NO"<<endl;
				break;
			}else{
				cout <<"YES"<<endl;
				break;
			}
		}
	}
	return 0;
} 

样例都是NO

2023/6/11 10:35
加载中...