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

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

무용 발표회

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

요약
주어진 루틴들을 재배열해 연속된 두 루틴에 함께 나오는 무용수 수의 합을 최소화합니다.
난이도

보통10점 중 6점

유형
동적 계획법, 비트 연산
정답자
아직 제출이 없습니다

문제

무용단의 공연 감독은 정기 무용 발표회에 드는 비용을 계산해야 한다. 실력이 뛰어난 무용수는 여러 작품에 겹쳐 출연하는데, 여기서 문제가 하나 생긴다. 작품마다 의상이 다르기 때문에 무용수는 한 작품이 끝나면 무대 뒤 의상 담당자에게 가서 다음 작품이 시작하기 전에 옷을 갈아입어야 한다.

한 무용수가 서로 붙어 있지 않은 두 작품에 출연하면 의상 담당자는 일반 교체를 한다. 그러나 바로 이어지는 두 작품에 연속으로 출연하면 급속 교체가 필요하다. 의상 담당자는 발표회 한 번마다 정액 요금을 받고 일반 교체를 모두 처리하지만, 급속 교체는 건당 아주 비싼 값을 따로 받는다. 공연 감독은 예산을 지켜야 하고, 작품 순서는 마음대로 바꿀 수 있다. 주어진 발표회에서 필요한 급속 교체 횟수의 최솟값을 구하라.

발표회에 나오는 무용수는 각각 대문자 하나로 구분한다. 무용수는 26명을 넘지 않으므로 A부터 Z까지면 충분하다. 발표회 전체는 작품 목록으로 적고, 각 작품은 그 작품에 출연하는 무용수를 모아 놓은 문자열로 적는다. 예를 들어 다음 발표회를 보자.

ABC
ABEF
DEF
ABCDE
FGH

이 발표회는 작품 5개로 이루어지고 무용수는 A부터 H까지 8명이 나온다. 첫 작품에는 {A, B, C}가, 두 번째 작품에는 {A, B, E, F}가 출연한다. 이 두 작품을 위 순서대로 공연하면 A와 B는 그 사이에 급속 교체를 해야 한다. 다섯 작품을 위에 적힌 순서 그대로 공연하면 급속 교체가 모두 여섯 번 필요하다. 그런데 순서를 다음처럼 바꿀 수 있다.

ABEF
DEF
ABC
FGH
ABCDE

이렇게 하면 급속 교체는 두 번으로 끝난다. 처음 두 작품 사이에서 E와 F가 갈아입는 것이 전부다.

입력

첫째 줄에 작품 수 RR이 주어진다 (2≤R≤102 \le R \le 10).

이어지는 RR개의 줄에 각 작품의 출연진이 한 줄에 하나씩 주어진다. 각 줄은 서로 다른 대문자를 사전순으로 정렬해 이어 붙인 비어 있지 않은 문자열이고, 길이는 최대 26이다. 한 작품 안에서 같은 무용수가 두 번 나오지는 않지만, 한 무용수가 여러 작품에 나올 수 있고 출연진이 완전히 같은 작품이 둘 이상 있을 수도 있다.

출력

발표회에 필요한 급속 교체 횟수의 최솟값을 정수 하나로 출력한다.

예제3

  1. 예제 1

    입력
    5
    ABC
    ABEF
    DEF
    ABCDE
    FGH
    
    예상 출력
    2
    
  2. 예제 2

    입력
    6
    BDE
    FGH
    DEF
    ABC
    BDE
    ABEF
    
    예상 출력
    3
    
  3. 예제 3

    입력
    4
    XYZ
    XYZ
    ABYZ
    Z
    
    예상 출력
    4