파일 업로드

🎨AI 리소스 생성

프롬프트 없음

웜홀들

profile
실행 시간 제한메모리 제한
2 초128 MB
📃 해결할 문제

존은 은하계를 여행하는 우주 비행사입니다. 각 은하계는 여러 개의 행성으로 이루어져 있으며 각 행성들은 연결된 행성과 자유롭게 이동할 수 있는 다리가 존재하며 다리를 건널 때는 T (1 <= T <= 10,000) 만큼의 시간이 걸립니다.

존은 많은 은하계들을 탐험하면서 은하계에 존재하는 행성에 웜홀이 존재한다는 사실을 발견했습니다. 웜홀은 특별한 성질을 가지고 있는데, 웜홀에 들어가면  R(1 <= R <= 10,000) 만큼 되돌린 채로 웜홀과 이어진 곳에 도착할 수 있습니다. 단, 웜홀은 목적지에 도달한 다음에는 다시 들어갈 수 없는 단방향 통로이며 행성에 웜홀이 존재하지 않을 수도 있습니다.

각각의 은하계는 N (1 <= N <= 500) 개의 행성을 가지고 있으며 1부터 N까지 번호가 매겨져 있으며, 각 행성에는 M (1 <= M <= 2500) 개의 경로와 W (1 <= W <= 200) 개의 웜홀들이 존재합니다.

존은 은하계에 행성들을 보고 특별한 실험을 진행해 보려고 합니다. 어떤 은하계의 어떤 행성에서 출발해서 이어진 행성들과 웜홀을 통해 출발 행성으로 출발한 시점 이전으로 돌아올 수 있는지 실험해 보려고 합니다.


존이 가지고 있는 F (1 <= F <= 5) 개의 은하계의 정보 중 각 은하계가 존의 실험을 통과하는지 알려주세요.
 

💻 입력
  • 라인 1: 은하계의 갯수 F
  • 각 은하계의 첫 번째 줄: 공백으로 구분된 3개의 정수 N, M, W
  • 각 은하계의 2번째 줄부터 M+1번째 줄 : 이어진 두 행성의 정보와 행성의 다리를 건널때 걸리는 시간 T 을 나타내는 공백으로 구분된 3개의 정수
  • 각 농장의 M+2번째 줄부터 M+W+1번째 줄까지: 행성 S 에서 행성 E 로의 이어진 웜홀의 정보와 되돌리는 시간 R 을 나타내는 공백으로 구분된 3개의 정수
🖨️ 출력
  • 1번째 줄부터 F번째 줄까지: 각 은하계에 대해, 만약 실험을 통과한다면 "YES"를 출력하고, 그렇지 않다면 "NO"를 출력합니다 (따옴표는 포함하지 마세요).

💻 예제 입력 1
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
🖨️ 예제 출력 1
NO
YES

출처: USACO 2006 December Gold 1