就A两个点
查看原帖
就A两个点
760850
QWQ_jyc楼主2023/6/11 12:32
#include <bits/stdc++.h>
#define inf 1e9+1
using namespace std;
long long dis[114514];
long long u[114514],v[114514],w[114514];
long long n,m,t;
int f=0;
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<=m;i++)dis[i]=inf;
    	dis[1]=0;
    	for(int i=1;i<=m;i++){
    		if(dis[v[i]]>dis[u[i]]+w[i]){
    			dis[v[i]]=dis[u[i]]+w[i];
    			f=1;
			}		
		}	
		if(f==0)
			cout<<"NO"<<endl;
		else if(f==1)
			cout<<"YES"<<endl;
	}	
    return 0;
}
2023/6/11 12:32
加载中...