만드는 중입니다

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

외계인 피아니스트

시간 제한8초메모리 제한512 MB

요약
여러 음과 손가락 개수 N이 주어질 때, 인접한 음을 동시에 누르는 동안 손가락이 교차하지 않게 모든 음을 연주할 수 있는지 판정한다.
난이도

보통10점 중 6점

유형
그리디, 정렬, 구현, 배열
정답자
아직 제출이 없습니다

문제

어느 날 우주 저 멀리 어떤 별에서 외계인이 왔다. 그는 지구의 문화, 특히 음악에 관심이 많았다. 여러 종류의 음악을 즐겨 듣던 그는 스스로 음악을 연주하기로 마음먹었다. 마침 콘서트에서 작곡가를 만나 친구가 되었고, 자신을 위해 새 곡을 만들어 달라고 부탁했다. 작곡가는 흔쾌히 부탁을 받아들였다.

작곡가는 곡을 만들려 했지만 외계인의 신체가 인간과 매우 달라 곤란을 겪었다. 외계인이 연주할 수 있는 음악은 신체 구조에 제약을 받는다. 그는 손이 하나뿐이고 손가락이 여러 개다. 손가락을 무한히 뻗을 수 있지만 손가락을 교차할 수는 없다. 또한 우주선에 있는 space piano라는 특별한 악기를 위해 곡을 써 달라는 부탁도 받았다. 이 피아노에는 왼쪽부터 0부터 231 - 1까지 번호가 붙은 231개의 건반이 있다. 외계인은 그 피아노로 곡을 연주하고 싶어 했다.

작곡가는 뛰어난 프로그래머인 당신에게 도움을 청했다. 당신의 일은 주어진 곡을 외계인이 연주할 수 있는지 판정하는 프로그램을 작성하는 것이다.

한 곡은 음들의 나열로 이루어지고, 한 음은 음계들의 집합이다. 그는 한 음에 속한 음계마다 손가락 하나를 쓴다. 곡을 매끄럽게 연주하려면 인접한 두 음의 모든 건반에 일정 시간 동안 손가락을 올려 두어야 한다. 물론 그동안 손가락을 교차할 수 없다.

예를 들어 음 {2, 4, 7} 다음에 음 {3, 6, 8}을 연주하는 경우를 생각하자. 그가 앞의 음을 세 번째, 다섯 번째, 여덟 번째 손가락으로 연주한다면(각각 2, 4, 7), 뒤의 음은 네 번째, 여섯 번째(또는 일곱 번째), 아홉 번째(또는 그 뒤) 손가락으로 연주할 수 있다(각각 3, 6, 8).

입력

입력 파일은 여러 테스트 케이스로 이루어진다.

각 테스트 케이스의 첫 줄에는 외계인의 손가락 수 N과 악보에 있는 음의 수 M (0 < M ≤ 1000)이 주어진다. 다음 M개의 줄이 각각 한 음을 나타내며, 첫 정수 Li (0 < Li ≤ 100)는 그 음에 포함된 음계의 수이고, 이어지는 Li개의 정수가 각각 음계를 나타낸다. 음은 시간 순서대로 주어진다. 인접한 두 음에 같은 음계가 나타나지 않는다고 가정해도 된다.

입력 파일은 0 두 개가 있는 줄로 끝난다.

출력

각 테스트 케이스마다 케이스 번호(1부터 시작)와 결과를 한 줄에 출력한다. 외계인이 그 곡을 연주할 수 있으면 “Yes”를, 그렇지 않으면 “No”를 출력한다.

예제1

  1. 예제 1

    입력
    10 2
    3 2 4 7
    3 3 6 8
    5 8
    1 0
    1 1
    1 2
    1 3
    1 4
    1 5
    1 6
    1 7
    0 0
    
    예상 출력
    Case 1: Yes
    Case 2: No