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

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

고속도로

시간 제한1초메모리 제한128 MB

요약
주어진 도로 중 모든 도시에 홀수 개가 닿도록 고르는 방법이 있는지 판단합니다.
난이도

보통10점 중 7점

유형
그래프, 수학, DFS
정답자
아직 제출이 없습니다

문제

바이토시아에는 nn개의 도시와 이들을 잇는 mm개의 도로가 있다. 도로의 상태는 매우 나쁘지만, 예산 부족으로 오랫동안 보수되지 못했다.

주민들은 일부 도로를 새 고속도로로 바꿔 달라고 요구하고 있다. 국왕은 고속도로를 건설하겠다고 했지만 한 가지 조건을 걸었다. nn개의 모든 도시마다 그 도시에 연결된 고속도로의 개수가 홀수가 되는 건설 계획이 있어야 한다는 것이다. 고속도로는 이미 존재하는 도로 위에만 놓을 수 있다.

어떤 도로들을 고속도로로 바꿀지 정하는 것은 곧 기존 도로들의 부분집합을 고르는 것과 같다. 주어진 도로망에 대해, 모든 도시가 홀수 개의 선택된 도로에 연결되도록 하는 계획이 존재하는지 판정하여라.

입력

첫째 줄에 테스트 세트의 수를 나타내는 정수 zz (1≤z≤1001 \le z \le 100)가 주어진다. 이어서 각 테스트 세트의 정보가 주어진다.

각 테스트 세트의 첫째 줄에는 도시의 수와 도로의 수를 나타내는 두 정수 nn, mm (1≤n≤1000001 \le n \le 100000, 1≤m≤2000001 \le m \le 200000)이 주어진다. 다음 mm개의 줄에는 각각 두 정수 xx, yy (1≤x,y≤n1 \le x, y \le n)가 주어지며, 이는 도시 xx와 도시 yy가 도로로 연결되어 있음을 뜻한다. 같은 두 도시가 여러 개의 도로로 연결될 수 있고, 한 도시를 자기 자신과 잇는 도로도 있을 수 있다.

모든 테스트 세트에 대한 nn의 합은 10000001000000을, mm의 합은 20000002000000을 넘지 않는다.

출력

각 테스트 세트마다 한 줄을 출력한다.

모든 도시가 선택된 도로 중 홀수 개에 연결되도록 도로의 부분집합을 고를 수 있으면 YES를, 그렇지 않으면 NO를 출력한다.

예제2

  1. 예제 1

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

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