6554 - Secret Message秘密信息
时间限制 : 1 秒
内存限制 : 128 MB
贝茜正在领导奶牛们逃跑。为了联络,奶牛们互相发送秘密信息。
信息是二进制的,共有M(1≤M≤50000)条。反间谍能力很强的约翰已将拦截了部分信息,知道了第i条二进制信息的前bi(1≤bi≤1000)位。他同事知道,奶牛使用N(1≤N≤50000)条密码。但是,他仅仅了解第J条密码的前cj(1≤cj≤10000)位。
对于每条密码J,他想知道有多少截得的信息能够和它匹配。也就是说,有多少信息和这条密码有着相同的前缀。当然,这个前缀长度必须等于密码和那条信息长度的较小者。
在输入文件中,位的总数即(\sum B_{i}+\sum C_{i})不会超过500000。
输入
第一行输入N和M,之后N行描述秘密信息,之后M行描述密码。每行先输入一个整数表示信息或密码的长度,之后输入这个信息或密码,所有数字之间都用空格隔开。
输出
共M行,输出每条密码的匹配信息数。
样例
输入
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条密码
截获的信息前缀是010,1,100,110
可能的密码前缀是0,1,01,01001,11
【样例输出说明】
0只配对010;1配对1,100,110;01只配对010;01001配对010;11配对1,110。
来源
一本通