정확히 K개의 패턴과 일치하는 문자열의 개수

시간 제한2초메모리 제한128 MB

요약
길이가 같은 N개의 문자/물음표 패턴 중 정확히 K개와 일치하는 소문자 문자열의 개수를 1,000,003으로 나눈 나머지로 구하는 문제입니다.
난이도

보통10점 중 7점

유형
조합론, 비트 연산, 문자열, 수학
정답자
아직 제출이 없습니다

문제

문자열 패턴은 영어 소문자와 물음표(?)로만 이루어진 문자열이다. 어떤 영어 소문자 문자열이 패턴과 일치하려면 두 길이가 같아야 하며, 패턴에서 물음표가 아닌 위치의 문자는 문자열의 같은 위치 문자와 같아야 한다. 물음표는 어떤 영어 소문자와도 일치한다.

N개의 패턴이 주어진다. 영어 소문자로만 이루어진 문자열 중에서, 주어진 패턴 중 정확히 K개와 일치하는 문자열의 개수를 구하시오.

입력

첫째 줄에 패턴의 개수 N과 정수 K가 주어진다. N은 15 이하의 자연수이고, K는 N 이하의 자연수이다.

둘째 줄부터 N개의 줄에 패턴이 하나씩 주어진다. 모든 패턴의 길이는 같고, 길이는 최대 50이다. 각 패턴은 영어 소문자와 물음표(?)로만 이루어져 있다.

출력

주어진 패턴 중 정확히 K개와 일치하는 문자열의 개수를 1,000,003으로 나눈 나머지를 출력한다.

예제4

  1. 예제 1

    입력
    1 1
    ?
    
    예상 출력
    26
  2. 예제 2

    입력
    3 1
    a
    b
    c
    
    예상 출력
    3
    
  3. 예제 3

    입력
    2 2
    a?
    ?b
    
    예상 출력
    1
    
  4. 예제 4

    입력
    1 1
    ?????
    
    예상 출력
    881343