¿La página no carga? Prueba haciendo clic aquí.
Placeholder

#1550

돈버는 여행 1s 64MB

Problemas

여행을 하면 항상 비용이 발생된다.

창환이는 아프리카의 어떤 지역을 여행하다가 몇 개의 지점에서 매우 값이 나가는 광석들이 있는 것을 발견하였다.

그 지역은 N(1≤N≤500)개의 지점으로 이루어져 있으며, 각 지점마다 1부터 N까지의 번호가 붙어 있다.

이들 사이를 잇는 M(1≤M≤2500)개의 길이 있으며, W(1≤W≤200)개의 길에는 값이 나가는 광석이 무한정 놓여 있지만

그 길을 지날 때마다 가지고 올 수 있는 광석의 양은 한정되어 있다.

 

창환이는 이 지역에서 여행을 하면서 돈을 벌 수 있을지 곰곰이 생각을 해 보았다.

어떤 지점에서 출발하여 다시 그 지점까지 돌아오려면 비용이 발생하는데

그 발생한 비용보다 더 많은 가치의 광석을 가지고 올 수 있다면 돈을 벌 수 있는 것이다.

 

고민에 빠진 창환이를 도와 돈을 버는 것이 가능한지 판단하는 프로그램을 작성해 주자.


Entrada

첫 번째 줄에 테스트 케이스의 개수 F(1≤F≤5)가 주어진다. 이후 F개의 테스트 케이스가 입력된다. 각 테스트 케이스의 첫 줄에는 N, M, W가 공백으로 구분되어 입력된다. 이후 M개의 줄에 걸쳐 S, E, T가 공백으로 구분되어 입력된다. 이것은 S와 E 사이에 양방향 도로가 있으며, 이동하는데 T만큼의 비용이 드는 것을 의미한다. 두 개의 지점 사이를 잇는 경로가 여러 개 존재할 수도 있다. 이후 W개의 줄에 걸쳐 S, E, T가 공백으로 구분되어 입력된다. 이것은 S에서 E로 가는 단방향 경로가 있으며, 이동하면서 T(1≤T≤10000)만큼의 가치를 얻을 수 있음을 의미한다.

Salida

각 테스트 케이스마다 돈을 벌 수 있으면 YES를 벌 수 없으면 NO를 출력한다.

Ejemplo

2

3 3 1
1 2 2
1 3 4
2 3 1
3 1 3
3 2 1
1 2 3
2 3 4
3 1 8
NO

YES

Debes iniciar sesión para escribir código.