华为OD机试双机位C卷 - 黑白棋 (Python & JAVA & C++ & JS & GO)

3 阅读1分钟

黑白棋

2026华为OD机试双机位C卷 - 华为OD上机考试双机位C卷 200分题型

华为OD机试双机位C卷真题目录点击查看: 华为OD机试真题题库目录|机考题库 + 算法考点详解

题目描述

有一个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

题解

华为OD机试双机位C卷 - 黑白棋 , 提供C语言、C++、Java、Python、JavaScript、Go实现源码和详细实现思路解析,点击跳转查看