프로그램 명: secret_message
제한시간: 1 초

베시는 우리를 탈출하기로 맘 먹은 소들의 우두머리다. 이 소들은 서로에세 이진 메시지를 보내고 있다.

아주 영리한 첩자를 둔 존은 M (1 <= M <= 50,000)개의 메시지에서 첫 bi (1 <= b_i <= 10,000) 비트를 가로 챌수 있었다.

그는 소들이 사용할 만한 일련의 N (1 <= N <= 50,000)개의 코드표를 모았다.

불행히도 , 그는 코드표의 j 첫 cj (1 <= c_j <= 10,000) 비트만을 알았다.

모든 코드표 j 에 대해서 얼마나 많은 코드표가 일치하는 가를 알고 싶어한다. ( 즉 , 코드표 j 에 대해서 , 메시지와 코드표가 얼만큼 첫 이니셜 비트가 있는지를)

이 일이 당신이 할 일이다.

입력의 총 비트 수는 즉 ci 와 bi 의 합은 500,000 을 넘지 않는다.

입력

출력

M 줄이 출력된다. j 번째 줄은 j 번째 코드표가 매치하는 메시지의 수를 출력한다.

입출력 예

입력

4 5
3 0 1 0
1 1
3 1 0 0
3 1 1 0
1 0
1 1
2 0 1
5 0 1 0 0 1
2 1 1

출력

1
3
1
1
2

입출력 예 보충

입력

4 개의 메시지: 5 개의 코드표

가로챈 메시지 start width  010, 1, 100, and 110
가능한 코드표 start with 0, 1, 01, 01001, and 11.

출력

0 matches only 010: 1 match
1 matches 1, 100, and 110: 3 matches
01 matches only 010: 1 match
01001 matches 010: 1 match
11 matches 1 and 110: 2 matches
출처: usaco 2008 Gold

[질/답] [제출 현황] [푼 후(0)]
[ 채 점 ] [홈으로]  [뒤 로]