Placeholder

#3164

독사의 탈주 2초 64MB

문제

조이연구소에서는 ​2L2^L마리의 독사를 기르고 있으며, 각각 0,1,,2L10, 1, \cdots, 2^L-1의 번호가 매겨져있다. 


모든 독사는 머리부터 발끝까지 LL개의 부분으로 나누어져 있으며, 각 부분은 파랑 또는 빨간색이 칠해져 있다. 

특별히 ii번째 독사의 생김새는 ii22진수로 표기했을 때, kk번째 자릿수가 00이라면 kk번째 부분은 파란색, 11이라면 빨간색이다. 


예를 들어, L=3L=3인 경우 00번째 뱀은 모든 부분이 파란색이고, 66번째 뱀은 빨강, 빨강, 파랑 순서대로 칠해져 있다.

각 독사는 위험도가 00 이상 99 이하의 정수 값으로 정해져 있다. 

0,1,2,3,4,5,6,7,8,90,1,2,3,4,5,6,7,8,9로 이루어진 길이 2L2^L의 문자열 SS가 주어지며, ii번째 글자(1i2L)(1 \le i \le 2^L)i1i-1번째 독사의 위험도를 나타낸다.

조이연구소에서는 독사들이 매우 잘 탈출한다. 

때문에 조이연구소는 하루에 한 번씩 탈출한 독사의 정보를 수집한 뒤, 그 정보를 바탕으로 위험도를 계산하여 독사 회수에 필요한 장비를 준비하고 있다.

당신은 Q일 동안 탈출한 독사들에 대한 정보가 주어진다. 

 

dd일째 (1dQ1 ≦ d ≦ Q)에 접수 된 정보는 0,1,?0, 1, ?로 이루어진 길이 LL인 문자열 TdT_d​로 표현되고, 각 글자는 다음과 같은 의미를 가진다.

TdT_d​의 jj번째 문자가 00인 경우는 dd일째에 탈출한 모든 독사의 jj번째 부분이 파란색이다.

TdT_d​의 jj번째 문자가 11인 경우는 dd일째에 탈출한 모든 독사의 jj번째 부분이 빨간색이다.

TdT_d​의 jj번째 문자가 ??인 경우는 dd일째에 탈출한 모든 독사의 jj번째 부분에 대한 정보가 없다. (빨간색일수도, 파란색일수도 있다)


탈출한 독사는 조이연구소의 직원이 모두 당일에 회수하며, 탈출했다가 돌아온 독사가 다음날 이후에 다시 탈출할 수 있다.

당신의 임무는 QQ일 동안 주어지는 독사의 정보에 대해, 각 날마다 그 날 탈출한 가능성이 있는 독사들의 위험도 총합을 계산하는 것이다.

 

메모리 제한이 작은 것에 유의하자. 


입력

첫 번째 줄에 뱀의 길이 L과 날짜 수를 나타내는 자연수 QQ가 주어진다. 

두 번째 줄에는 길이 2L2^L의 문자열 SS가 주어진다. 이 문자열은 독사의 위험도를 나타낸다. 

세 번째 줄부터 QQ개의 줄에는 길이 L의 문자열 TdT_d​가 주어진다. dd번째 줄에는 dd번째 날에 탈출한 독사에 대한 정보를 나타낸다. 

 

[입력 제한]

모든 입력 데이터는 다음을 만족한다. 

  • 1L201 ≦ L ≦ 20

  • 1Q1,000,0001 ≦ Q ≦ 1,000,000

  • SS는 길이가 2L2^L인 물자열이다.

  • 문자열 SS0,1,2,3,4,5,6,7,8,90, 1, 2, 3, 4, 5, 6, 7, 8, 9로 구성된다.

  • TdT_d는 길이가 LL인 문자열이다.(1dQ1 ≦ d ≦ Q)

  • 문자열 TdT_d​​는 0,1,?0, 1, ?로 구성된다. (1dQ1 ≦ d ≦ Q)


출력

각각의 정보에 대해, 그 날 탈출할 수 있는 독사의 위험도 총합을 QQ개의 줄에 하나씩 출력한다.


부분문제

번호 점수 조건
#15점

L10, Q1,000L ≦ 10, Q ≦ 1,000

#27점

L10L ≦ 10

#313점

L13​L ≦ 13

#453점

Q50,000Q ≦ 50,000

#525점

추가 제한은 없다.​


예제1

입력
3 5

12345678
000
0??
1?0
?11
???
출력
1

10
12
12
36

예제에서는 세 부분으로 구성된 독사가 총 23=82^3 = 8 마리 있다. 5일 동안 탈출할 수 있는 독사의 정보는 다음과 같다.

  • 1일째에 탈출한 가능성이 있는 독사는 독사 0 뿐이다. 위험도 총합은 1이다. 

  • 2일째에 탈출한 가능성이 있는 독사는 독사 0,1,2,3이다. 위험도 총합은 10이다. 

  • 3일째에 탈출한 가능성이 있는 독사는 독사 4,6이다. 위험도 총합은 12이다. 

  • 4일째에 탈출한 가능성이 있는 독사는 독사 3,7이다. 위험도 총합은 12이다. 

  • 5일째에 탈주한 가능성이 있는 독사는 독사 0,1,2,3,4,5,6,7이다. 

위험도 총합은 36이다.


예제2

입력
4 8

3141592653589793
0101
?01?
??1?
?0??
1?00
01?1
??10
????
출력
9

18
38
30
14
15
20
80

출처

JOI 2018


역링크 공식 문제집만

로그인해야 코드를 작성할 수 있어요.