만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

일반 그래프 매칭

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

요약
정점 N개와 간선 M개를 가진 무방향 그래프가 주어질 때 최대 매칭의 크기를 출력한다.
난이도

어려움10점 중 9점

유형
그래프, 그리디, 백트래킹, 구현
정답자
아직 제출이 없습니다

문제

정점이 NN개이고 무방향 간선이 MM개인 그래프가 주어진다. 이 그래프에서 최대 매칭의 크기를 출력하는 프로그램을 작성하시오.

그래프 G=(V,E)G = (V, E) (∣V∣=N|V| = N, ∣E∣=M|E| = M)에서 매칭 TT는 EE의 부분집합이며, TT의 어떠한 두 원소도 같은 정점을 공유하지 않는다.

최대 매칭은 그러한 매칭 중 집합의 크기가 가장 큰 것을 이르는 말이다.

입력

첫째 줄에 정점의 수를 나타내는 NN (1≤N≤5001 \le N \le 500)과 간선의 개수를 나타내는 MM (1≤M≤1247501 \le M \le 124750)이 주어진다.

둘째 줄부터 MM개의 줄에 걸쳐 각 간선의 정보가 주어진다.

각 간선의 정보는 그 간선을 이루는 서로 다른 두 정점의 번호로 구성된다.

각 정점의 번호는 11 이상 NN 이하의 자연수이다.

두 정점 사이의 간선은 최대 한 개임이 보장된다.

출력

첫째 줄에 최대 매칭의 크기를 출력한다.

예제2

  1. 예제 1

    입력
    10 20
    9 2
    7 6
    10 8
    3 9
    1 10
    7 1
    10 9
    8 6
    8 2
    8 1
    3 1
    7 5
    4 7
    5 9
    7 8
    10 4
    9 1
    4 8
    6 3
    2 5
    
    예상 출력
    5
    
  2. 예제 2

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