2026-01-07 23:12:16 +09:00

35 lines
740 B
Python

import sys
input = sys.stdin.readline
def bellman_ford(edges, N) :
dist = [0]*(N+1)
for n in range(N) :
for s,e,t in edges :
if dist[e] > dist[s] + t :
dist[e] = dist[s] + t
if n == N-1:
return True
return False
ans = []
for _ in range(int(input())) :
N, M, W = map(int, input().split())
edges = []
for _ in range(M) :
S, E, T = map(int, input().split())
edges.append((S,E,T))
edges.append((E,S,T))
for _ in range(W) :
S, E, T = map(int, input().split())
edges.append((S,E,-T))
ans.append("YES" if bellman_ford(edges, N) else "NO")
print("\n".join(ans))