아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

일방통행 도로

면접 대비

시간 제한2초메모리 제한64 MB

요약
무향 그래프의 모든 간선에 방향을 정해, 주어진 순서쌍마다 시작 정점에서 도착 정점으로 도달할 수 있게 만들 수 있는지 판정한다.
난이도

어려움10점 중 8점

유형
그래프, DFS, 유니온 파인드, 그리디
정답자
아직 제출이 없습니다

문제

바이트랜드의 수도는 극심한 교통 정체를 겪고 있어, 시 당국은 도시의 모든 도로를 일방통행으로 바꾸기로 결정했다. 그러나 방향을 잘못 정하면 일부 교차로에서 다른 교차로로 갈 수 없게 될 수 있다.

교통과는 변경 후에도 반드시 연결되어 있어야 하는 교차로 쌍의 목록을 준비했다. 각 쌍 (p,q)(p, q)에 대해, 모든 도로를 일방통행으로 만든 뒤에도 교차로 pp에서 교차로 qq로 이동할 수 있어야 한다.

모든 도로에 방향을 배정하여 이 조건들을 모두 만족시킬 수 있는지 판별하는 프로그램을 작성하라.

입력

첫째 줄에 세 정수 nn, mm, kk (1≤n≤50 0001 \le n \le 50\,000, 0≤m,k≤200 0000 \le m, k \le 200\,000)가 주어진다. 각각 교차로의 수, 도로의 수, 조건의 수를 의미한다. 교차로는 11번부터 nn번까지 번호가 매겨져 있다.

다음 mm개의 줄에는 각각 두 정수 aia_i, bib_i (1≤ai,bi≤n1 \le a_i, b_i \le n, ai≠bia_i \ne b_i)가 주어지며, 교차로 aia_i와 bib_i를 잇는 양방향 도로를 나타낸다. 어떤 두 교차로 사이에도 도로는 최대 하나만 존재한다.

다음 kk개의 줄에는 각각 두 정수 pip_i, qiq_i (1≤pi,qi≤n1 \le p_i, q_i \le n, pi≠qip_i \ne q_i)가 주어지며, 모든 도로를 일방통행으로 만든 뒤에도 pip_i에서 qiq_i로 이동할 수 있어야 함을 의미한다.

출력

모든 도로를 일방통행으로 만들면서 모든 조건을 만족시킬 수 있으면 첫째 줄에 YES를, 그렇지 않으면 NO를 출력한다.

예제2

  1. 예제 1

    입력
    4 4 3
    1 2
    2 3
    3 1
    2 4
    1 3
    3 1
    1 4
    
    예상 출력
    YES
    
  2. 예제 2

    입력
    4 3 2
    1 2
    1 3
    1 4
    3 4
    2 3
    
    예상 출력
    NO