만드는 중입니다

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

배드 호스 (작은 입력 1)

면접 대비

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

요약
말썽 쌍으로 엮인 구성원을 같은 쌍이 한 부서에 들어가지 않게 두 부서로 나눌 수 있는지 판단합니다.
난이도

쉬움10점 중 3점

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

문제

악의 리그를 이끄는 배드 호스는 처리할 골칫거리가 많다. 최근 리그 안에서 말다툼과 배신이 너무 잦아지자, 배드 호스는 사이가 나쁜 회원을 떼어 놓으려고 리그를 두 부서로 나누기로 했다. 죄악의 서러브레드인 배드 호스는 회원을 어떻게 나눌지 직접 따져 볼 만큼 한가하지 않다. 그래서 충직한 부하인 당신에게 그 일을 맡겼다.

사이가 나쁜 회원 쌍의 목록이 주어진다. 목록에 이름이 나오는 회원을 두 부서로 나누되, 어느 부서에도 사이가 나쁜 쌍이 함께 들어가지 않게 할 수 있는지 판정한다. 한쪽 부서가 비어도 된다.

입력

첫 줄에 테스트 케이스의 수 T가 주어진다. 이어서 T개의 테스트 케이스가 주어진다. 각 테스트 케이스의 첫 줄에는 사이가 나쁜 쌍의 수 M이 주어지고, 다음 M개의 줄에는 두 회원의 이름이 공백 하나로 구분되어 주어진다.

제한

  • 1 ≤ T ≤ 100
  • 회원 이름은 영문자와 밑줄로만 이루어진다.
  • 이름은 대소문자를 구별한다.
  • 한 테스트 케이스 안에서 같은 쌍이 두 번 나오지 않는다.
  • 각 쌍의 두 회원은 서로 다르다.
  • 1 ≤ M ≤ 10

출력

각 테스트 케이스마다 "Case #x: y" 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 두 부서로 나눌 수 있으면 Yes, 나눌 수 없으면 No이다.

예제4

  1. 예제 1

    입력
    2
    1
    Dead_Bowie Fake_Thomas_Jefferson
    3
    Dead_Bowie Fake_Thomas_Jefferson
    Fake_Thomas_Jefferson Fury_Leika
    Fury_Leika Dead_Bowie
    
    예상 출력
    Case #1: Yes
    Case #2: No
    
  2. 예제 2

    입력
    1
    1
    A B
    
    예상 출력
    Case #1: Yes
    
  3. 예제 3

    입력
    2
    4
    N_a N_b
    N_b N_c
    N_c N_d
    N_d N_a
    5
    P_a P_b
    P_b P_c
    P_c P_d
    P_d P_e
    P_e P_a
    
    예상 출력
    Case #1: Yes
    Case #2: No
    
  4. 예제 4

    입력
    2
    3
    Bob bob
    bob BOB
    BOB Bob
    2
    Bob bob
    bob BOB
    
    예상 출력
    Case #1: No
    Case #2: Yes