AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3519. 黑白棋

中等通过率 48% · 提交 116 · 通过 56
DFSBFS记忆化搜索图论DFS/BFS

小慕有一个N×N的棋盘,由黑格子和白格子组成。棋子在棋盘上可以上下左右移动,但只能从黑色格子走到的白色格子,或者从白色格子走到相邻的黑色格子。小慕的任务是:对于给定的棋盘,询问从某一格出发,棋子能够到达的格子数量。

提示:带虚线的词点一下有通俗解释。

输入描述

第一行两个正整数,表示 n,m。 下面n行,每行n个字符,字符是1或0分别表示黑格子 和白格子,字符之间无空格。 接下来m行,每行两个数i,j,用空格隔开,表示棋盘 的第i行第j列的格子,需要计算该棋子从该格子的移动范围是多少格。

输出描述

m行,每行一个数表示每个询问的答案。 补充说明 对于全部的测试点,保证1 ≤ n ≤ 1000, 1 ≤ m ≤ 10000

示例

示例 1

输入

2 1
01
10
2 2

输出

4

示例 2

输入

3 3
001
111
001
1 1
2 2
2 3

输出

3
5
1

时间限制 2000 ms · 内存限制 128 MB

看不懂题目?点开图解
1,1 1,2 1,3 2,1 2,2 2,3 3,1 3,2 3,3 从(1,1)出发可到达3格 从(2,2)出发可到达5格 从(2,3)出发可到达1格 黑格(1) 白格(0) 移动规则: 黑→白 或 白→黑 只能上下左右
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「黑白棋」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。