通行证(Easy Version)

PDF 视图

提交程序

分数: 1
时间限制: 2.0s
内存限制: 256M

作者:
题目类型

题目描述

有 \(n ^ 2\) 个人排成了一个 \(n\) 行 \(n\) 列的方阵 \(a\),在方阵外,有 \([4n + 4]\) 个人包围了方阵 \(a\),共同形成了一个 \(n + 2\) 行, \(n + 2\) 列的方阵 \(b\)。

对于方阵 \(a\) 中的 \(n ^ 2\) 个人,每个人都有一个识别码 \(a_{ij}\) 用于确认身份,方阵 \(b\) 中剩余的 \([4n + 4]\) 个人的识别码均为 \(10 ^ {100}\),对于通行证 \(card\),如果一个人的识别码 \(x\) 满足 \([x \; | \; card] \neq card\),其中 \("|"\) 表示按位或运算,那么此人将被认定为坏蛋。

得知方阵 \(b\) 中有坏蛋,每个人都非常不安,每个人都将从上下左右四个方向出发,检查途径的人是否是坏蛋(包含自己),若途径坏蛋与自身的最小距离为 \(dis\),则其安全感即为 \(dis\)。

\(MaxBlazeResFire\) 有 \(q\) 张通行证,每次询问他会给你一张通行证 \(card\),并向你询问方阵 \(a\) 中所有人的安全感之和。

输入格式

第一行包含一个整数 \(T\),表示测试数据的组数, \(1 \le T \le 10\)。

对于每组测试数据:

第一行包含两个整数 \(n \; [1 \le n \le 300]\) 和 \(q \; [1 \le q \le 5 \times 10 ^ 4]\),表示方阵的行数和列数,以及询问次数。

随后 \(n\) 行 \(n\) 列给出一个方阵 \(a\), \(a_{ij} \; [0 \le a_{ij} < 2 ^ {15}]\) 表示位于 \(i\) 行 \(j\) 列的人的识别码;

随后 \(q\) 行,每行包含一个整数 \(card \; [0 \le card < 10 ^ 9]\),表示通行证。

输出格式

对于每个询问,请你打印以 \(card\) 确认身份的前提下,方阵 \(a\) 中所有人的安全感之和。

样例输入

1
5 1
5 5 1 5 5
5 5 1 5 5
1 1 1 1 1
5 5 1 5 5
1 5 1 5 5
1

样例输出

12

评论

目前没有评论。