bzoj#P1550. 打电话(tel)

打电话(tel)

题目描述

龙先生是一位著名的记者,平时最喜欢报道一些鲜为人知的故事。最近,由于听说索马里海盗猖獗,他打算实地探访,做一个深入的调查。龙先生联系了索马里当地的一些朋友,做了周密的计划——坐船从三亚出发,越过南海,趟过印度洋,最后到达索马里海域的亚丁湾。可就在船离海岸仅 1010 公里时,突然一伙海盗突袭客船,所有人都被劫持到了索马里城内。 在人质被运送到“海盗基地”的途中,龙先生凭着多年的经验,乘海盗不注意,跃下了卡车,在无数砰砰的枪声中,没命的向外跑去。跑了几分钟后,龙先生突然看到一个电话厅。他迅速向电话厅奔去,想打电话向住在索马里的朋友求助。然而,随着追赶脚步声的临近,龙先生估算留给自己打电话的时间最多 3030 秒,决不容许拨错电话。 遗憾的是,越是这种危机的时候,越容易犯错。身为“智者”的您,请帮龙先生算一算:当他打电话给一位朋友的时候,恰好打给了另外一个人(不一定是他朋友,可以是任何人)的概率是多少?已知索马里是一个有不超过 1010 万人的小城,电话号码只有 66 位。

输入格式

第一行:索马里人数 nn

接下来的 nn 行,表示所有人的电话号码。

接下来的 1010 行:一个 10×1010\times 10 错按表,表示按 aa 键时按成 bb 键的概率(第一行第一列表示按 00 时按成 00 的概率,第一行第二列表示按 00 时按成 11 的概率。所有的概率用整数 0100-10 表示,即实际概率要除以 1010)。

下一行:索马里城中你的朋友人数 mm

接下来的 mm 行,每行表示每个朋友的电话号码。

输出格式

打给你的每一个朋友时候,打通其他人的电话的概率(每行一个概率,乘以 10610^6 后用整数表示)。

样例输入

5
267535
229127
693606
861879
902375
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1
5
267535
229127
693606
861879
902375

样例输出

4
4
4
4
4

提示

说明:当龙先生要打某个朋友的电话时,有三种情况:

  • 恰好打给了这个朋友。
  • 打通了其他人的电话。
  • 空号。

现要求计算第 22 种情况发生的概率。

题目来源

HNOI2009 集训 Day5。

数据范围与约定

1mn1051 \leq m \leq n \leq 10^5