충전 대소동 (스몰)

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

요약
모든 콘센트 문자열의 같은 위치 비트를 뒤집어 기기 문자열 집합과 일치시키는 최소 스위치 수를 구합니다.
난이도

보통10점 중 4점

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

문제

농부 쇼타는 새로 지은 농가로 막 이사했다. 그런데 콘센트 설정이 자기 기기와 맞지 않는다. 요즘 농부답게 쇼타는 스마트폰과 노트북을 여러 대 갖고 있고, 아끼는 소 와규가 쓰는 태블릿까지 있다. 기기는 모두 NN개다.

기기마다 사양과 만든 회사가 달라서 충전에 필요한 전류가 서로 다르다. 콘센트도 각각 정해진 전류를 내보낸다. 전류 하나는 길이 LL인 0과 1의 문자열로 나타낸다.

쇼타는 기기 NN개를 한꺼번에 충전하려고 한다. 마침 새 집의 콘센트도 정확히 NN개다. 콘센트가 내보내는 전류는 스위치 LL개가 달린 마스터 제어판으로 조절한다. ii번 스위치를 누르면 집 안 모든 콘센트에서 나오는 전류의 ii번째 비트가 뒤집힌다. 예를 들어 콘센트의 전류가 다음과 같다고 하자.

콘센트 0: 10
콘센트 1: 01
콘센트 2: 11

여기서 두 번째 스위치를 누르면 전류는 이렇게 바뀐다.

콘센트 0: 11
콘센트 1: 00
콘센트 2: 10

쇼타에게 충전하려면 전류 11이 필요한 스마트폰, 10이 필요한 태블릿, 00이 필요한 노트북이 있다면 두 번째 스위치만 눌러도 세 기기를 모두 충전할 수 있다.

미사키가 이 문제를 해결하려고 고용됐다. 미사키는 집 안 콘센트의 전류를 모두 측정했고, 같은 전류를 내보내는 콘센트가 하나도 없다는 것을 확인했다. 쇼타가 기기를 전부 동시에 충전할 수 있는지 판단하고, 가능하다면 눌러야 하는 스위치의 최소 개수를 구하라. 스위치가 크고 무거워서 미사키는 꼭 필요한 만큼만 누르려고 한다.

기기와 콘센트는 어떤 순서로든 짝지어도 된다.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다. 이어서 테스트 케이스가 TT개 주어진다. 각 테스트 케이스는 세 줄이다. 첫 줄에는 정수 NN과 LL이 공백을 사이에 두고 주어진다. 둘째 줄에는 콘센트가 처음에 내보내는 전류를 나타내는 길이 LL의 문자열 NN개가 공백으로 구분되어 주어진다. 셋째 줄에는 기기가 충전에 필요로 하는 전류를 나타내는 길이 LL의 문자열 NN개가 같은 방식으로 주어진다.

제한

  • 1≤T≤1001 \le T \le 100
  • 1≤N≤101 \le N \le 10
  • 2≤L≤102 \le L \le 10
  • 처음에 같은 전류를 내보내는 콘센트는 없다.
  • 같은 전류를 필요로 하는 기기는 없다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 쇼타가 기기를 모두 충전하는 데 눌러야 하는 스위치의 최소 개수다. 어떤 방법으로도 불가능하면 yy 자리에 따옴표 없이 NOT POSSIBLE을 출력한다. 철자와 대문자, 사이의 공백 하나까지 그대로 맞춰야 한다.

힌트

첫 번째 예제의 첫 테스트 케이스에서 미사키는 두 번째 스위치 하나만 누르면 된다. 콘센트의 전류는 다음과 같이 바뀐다.

콘센트 0: 00
콘센트 1: 10
콘센트 2: 11

이제 콘센트 0으로 기기 1을, 콘센트 1로 기기 2를, 콘센트 2로 기기 0을 충전한다. 스위치를 한 개보다 적게 눌러서는 세 기기를 모두 충전할 수 없다.

예제1

  1. 예제 1

    입력
    3
    3 2
    01 11 10
    11 00 10
    2 3
    101 111
    010 001
    2 2
    01 10
    10 01
    
    예상 출력
    Case #1: 1
    Case #2: NOT POSSIBLE
    Case #3: 0