WA 求条,玄关
查看原帖
WA 求条,玄关
1251532
apiad楼主2024/2/27 19:38
// Author: gsczl71
// Copyright (c) 2024 gsczl71 All rights reserved.

#include<bits/stdc++.h>
#define ll long long
#define i128 __int128
#define ull unsigned long long
#define pii pair<int,int>
#define pll pair<long long, long long>
#define fs first
#define sc second
#define endl '\n'
#define debug puts("AK IOI")
#define re register
#define pb push_back
#define mem(a,x) memset((a),(x),sizeof(a))
#define vi vector<int>
#define pq priority_queue
using namespace std;
namespace gsczl71_fastIO {
	template <typename T = int>
	inline T read() {
		T s=0,w=1;char c=getchar();
		while(!isdigit(c)){if(c=='-')w=-1;c=getchar();}
		while(isdigit(c))s=(s<<1)+(s<<3)+(c^48),c=getchar();
		return s*w;
	}template <typename T>
	inline void read(T &s){s=0;int w=1;char c=getchar();
		while(!isdigit(c)){if(c=='-')w=-1;c=getchar();}
		while(isdigit(c))s=(s<<1)+(s<<3)+(c^48),c=getchar();
		s*=w;
	}template <typename T, typename... Args> inline void read(T &x, Args &...args) {read(x), read(args...);}
	template <typename T>
	inline void write(T x,char ch) {
		if(x<0)x=-x,putchar('-');
		static char stk[200];
		int top=0;do{stk[top++]=x%10+'0',x/=10;}while(x);
		while(top)putchar(stk[--top]);
		putchar(ch);return;
	}
}using namespace gsczl71_fastIO;
#define int long long
const int mod = 1e9+7;
//const int mod = 998244353;
const int inf = 0x3f3f3f3f,N = 2e5+5,M = 1e6+5,K = 3000+5;
const long long linf = 0x3f3f3f3f3f3f3f3f;
int n,m;
int vis[N],dis[N];
vector<pii> mp[N];
void dfs(int x){
	for(auto it:mp[x]){
		if(!vis[it.fs]){
			vis[it.fs] = 1;
			dis[it.fs] = dis[x] + it.sc;
			dfs(it.fs);
		}else if(dis[it.fs] != dis[x] + it.sc){
			puts("No\n");exit(0);
		}
	}
}
void solve(){
	n=read(),m=read();
	if(!m){cout<<"Yes\n";return ;}
	set<int> st;
	while(m--){
		int l,r,d;l=read(),r=read(),d=read();
		mp[l].pb({r,d});st.insert(l);
	}for(auto it:st) if(!vis[it]) {vis[it]=1;dfs(it);}
	puts("Yes\n");
}
signed main(){
	ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
	int T=1;
//	cin >> T;
	while(T--) solve();
	return 0;
}
2024/2/27 19:38
加载中...