만드는 중입니다

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

영어와 프랑스어 (Small)

면접 대비

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

요약
알 수 없는 각 문장을 영어 또는 프랑스어로 배정해 두 언어에 모두 속한 단어 수를 최소화합니다.
난이도

보통10점 중 4점

유형
완전 탐색, 비트 연산, 해시맵
정답자
아직 제출이 없습니다

문제

영선이의 부모님은 집에서 영어와 프랑스어를 섞어 영선이와 대화한다. 영선이는 많은 단어를 들었지만 어떤 단어가 영어이고 어떤 단어가 프랑스어인지는 모른다.

영선이가 아는 것은 세 가지다. 확실히 영어로 쓰인 문장 하나, 확실히 프랑스어로 쓰인 문장 하나, 그리고 어느 언어인지 알 수 없는 문장 여러 개.

문장 하나는 통째로 한 언어로 쓰였다. 어떤 단어가 영어 문장에 한 번이라도 나타나면 그 단어는 영어이고, 프랑스어 문장에 한 번이라도 나타나면 그 단어는 프랑스어이다. 두 조건을 모두 만족하는 단어를 영어이면서 프랑스어인 단어라고 한다.

알 수 없는 문장에 언어를 하나씩 배정하는 방법은 여러 가지다. 영어이면서 프랑스어인 단어가 가장 적어지도록 배정했을 때 그 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. (1≤T≤251 \le T \le 25)

각 테스트 케이스의 첫째 줄에는 문장의 개수 NN이 주어진다. (2≤N≤202 \le N \le 20) 이어지는 NN개의 줄에 문장이 한 줄에 하나씩 주어진다.

문장은 공백으로 구분된 단어로 이루어진다. 단어는 알파벳 소문자로만 이루어지고 길이는 10을 넘지 않는다.

각 테스트 케이스의 첫 번째 문장은 영어 문장이고 두 번째 문장은 프랑스어 문장이다. 나머지 N−2N-2개의 문장은 언어를 알 수 없다.

첫 두 문장은 각각 단어를 최대 1,000개 포함하고, 나머지 문장은 각각 최대 10개 포함한다.

출력

각 테스트 케이스마다 한 줄에 Case #x: y 형식으로 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 영어이면서 프랑스어인 단어의 최소 개수이다.

예제2

  1. 예제 1

    입력
    4
    2
    he loves to eat baguettes
    il aime manger des baguettes
    4
    a b c d e
    f g h i j
    a b c i j
    f g h d e
    4
    he drove into a cul de sac
    elle a conduit sa voiture
    il a conduit dans un cul de sac
    il mange pendant que il conduit sa voiture
    6
    adieu joie de vivre je ne regrette rien
    adieu joie de vivre je ne regrette rien
    a b c d e
    f g h i j
    a b c i j
    f g h d e
    
    예상 출력
    Case #1: 1
    Case #2: 4
    Case #3: 3
    Case #4: 8
    
  2. 예제 2

    입력
    1
    2
    hello
    bonjour
    
    예상 출력
    Case #1: 0