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

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

미팅

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

요약
남자 N명과 여자 N명 사이의 호감 관계가 주어질 때, 선택한 남자 집합의 크기보다 그들이 좋아하는 여자 집합의 크기가 더 작아지는 남자 부분집합을 찾거나, 그런 집합이 없으면 -1을 출력한다.
난이도

보통10점 중 7점

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

문제

이성 친구를 사귀고 싶어서 국렬이가 주선한 미팅에 신청한 남성 NN명, 여성 NN명이 있다.

서로에게 호감을 갖는 MM개의 남녀 쌍이 주어진다. 국렬이는 미팅에 참여한 남성 중 임의로 몇 명을 선정해 미팅을 진행하려고 한다. 국렬이가 선정한 남성을 보고, 그들 중 적어도 한 명과 호감을 갖는 여성들은 미팅에 참가하게 된다. 미팅에 참가한 남성의 수가 여성의 수보다 작거나 같다면 미팅은 원활하게 진행된다. 반대로 남성의 수가 더 많은 경우 미팅을 원활하게 진행할 수 없다. 그림의 예시에서는 2번째 남성과 3번째 남성을 선정했을 때 이들과 호감을 갖는 여성이 2번째 여성 한 명뿐이고, 남성의 수가 더 많기에 미팅이 원활하게 진행될 수 없다.

국렬이는 이 미팅의 주선자이지만 무적의 솔로 부대 출신이기에 남들이 잘되는 것을 원하지 않으므로 미팅이 원활하게 진행되는 것을 막고자 한다. 남녀 간의 호감 관계가 주어졌을 때, 미팅이 원활하게 진행되지 않도록 남성들을 선정해주자.

입력

첫 번째 줄에는 NN과 MM이 주어진다. (1≤N≤5001 \le N \le 500, 0≤M≤N20 \le M \le N^2)

다음 MM개 줄에 걸쳐서 두 개의 정수 uu와 vv가 주어진다. 이는 uu번째 남성과 vv번째 여성이 서로 호감을 갖고 있다는 의미다. 두 남녀 간의 관계는 최대 1번만 주어진다.

출력

미팅이 원활하게 진행될 수 없게 남성들을 선정할 수 있다면, 첫 번째 줄에 선정해야 하는 남성 수를 출력한다. 그 다음 줄에 선정해야 하는 남성의 번호를 출력한다. 가능한 방법이 여러 가지인 경우 아무거나 출력한다.

어떻게 남성들을 선정하더라도 미팅이 원활하게 진행될 수 있으면 첫 번째 줄에 -1을 출력한다.

예제2

  1. 예제 1

    입력
    3 5
    1 2
    1 1
    1 3
    2 2
    3 2
    
    예상 출력
    2
    2 3
    
  2. 예제 2

    입력
    3 9
    1 1
    1 2
    1 3
    2 1
    2 2
    2 3
    3 1
    3 2
    3 3
    
    예상 출력
    -1