이진 수열은 몇 개인가
시간 제한3초메모리 제한256 MB
길이가 K인 이진 수열들로 이루어진 가장 작은 집합으로서, 해밍 거리가 2 이하인 두 원소의 합이 주어진 0, 1, 2 수열과 모두 일치하는 경우의 크기를 구합니다.
문제
길이가 인 이진 수열을 모은 집합 가 있다. 의 각 원소는 각 항이 또는 인 길이 짜리 수열이다.
정수 수열 는 다음 과정으로 만든다.
- 에서 수열 를 하나 고른다.
- 에서 를 만족하는 수열 를 하나 고른다. 여기서 는 두 수열의 해밍 거리, 즉 같은 자리의 값이 서로 다른 자리의 개수다. 예를 들어 이고 이다. 와 로 같은 원소를 고를 수 있다.
- 로 둔다.
예를 들어 는 과 로 만들 수 있다.
이 과정으로 만든 정수 수열 개 이 주어진다. 이 개를 모두 만들 수 있는 집합 중에서 원소 개수가 가장 적은 것을 찾아, 그 원소 개수를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 와 이 공백 하나를 사이에 두고 주어진다. (, )
다음 개 줄에 수열 가 한 줄에 하나씩 주어진다. 번째 줄의 번째 문자가 의 값이고, 문자 사이에 구분자는 없다. 각 값은 , , 중 하나이며 한 줄에 은 많아야 두 개 나온다. 즉 주어지는 는 모두 위 과정으로 만들 수 있는 수열이다.
출력
첫째 줄에 집합 의 최소 원소 개수를 출력한다.