리얼리티 쇼
시간 제한2초메모리 제한512 MB
각 배심원의 두 소망이 모두 이루어지는 사람 수가 최대가 되도록 탈락자를 고르는 문제입니다.
- 난이도
보통10점 중 7점
- 유형
- 그래프
- 정답자
- 아직 제출이 없습니다
문제
Život na kavi는 국회의원들이 경쟁하는 인기 리얼리티 쇼다. 참가자는 빨간 팀과 검은 팀으로 나뉘고, 매주 일정 수의 참가자가 쇼에서 탈락한다.
탈락은 심사위원단이 정한다. 각 심사위원은 종이 한 장에 쇼에 남아야 한다고 생각하는 참가자 한 명의 이름과 떠나야 한다고 생각하는 참가자 한 명의 이름을 적는다. 심사위원들은 부패해 있어서, 같은 종이에 적힌 두 이름이 같은 팀에 속하는 경우는 없다.
심사위원 한 명은 두 바람이 모두 이루어졌을 때 행복하다. 주말에 그가 남기를 바란 참가자가 쇼에 남고, 떠나기를 바란 참가자가 탈락하면 된다. 행복한 심사위원의 수가 가능한 한 최대가 되도록 탈락할 참가자의 집합을 정하라.
입력
첫 줄에 빨간 팀 인원을 나타내는 자연수 ()이 주어진다. 이어서 개의 줄에 빨간 팀 참가자의 이름이 한 줄에 하나씩 주어진다.
다음 줄에는 검은 팀 인원을 나타내는 자연수 ()이 주어진다. 이어서 개의 줄에 검은 팀 참가자의 이름이 한 줄에 하나씩 주어진다.
다음 줄에는 심사위원 수를 나타내는 자연수 ()가 주어진다. 이어서 개의 줄에 심사위원 한 명당 두 이름이 공백으로 구분되어 주어진다. 첫 번째 이름은 남아야 한다고 생각하는 참가자이고, 두 번째 이름은 떠나야 한다고 생각하는 참가자이다.
모든 이름은 서로 다르며, 최대 10자의 영어 소문자로 이루어진다.
출력
첫 줄에 쇼를 떠나는 참가자의 수 를 출력한다. 이어서 개의 줄에 떠나는 참가자의 이름을 순서에 상관없이 한 줄에 하나씩 출력한다.