本周训练计划是继续学习搜索,但是对于搜索的基本思路已经有所了解,但是由于对平面的相关知识以及树的相关知识不够了解,在训练的过程中就发现有些题目难以解决甚至会导致发生死循环(如P1141 01迷宫),当时废了很大力气,想通过已经学过的尝试解决发现难以实现,因此决定从头开始学习树的相关知识。
相关的参考资料网站:https://blog.csdn.net/u011815404/article/details/80313879?ops_request_misc=&request_id=&biz_id=102&utm_term=%E5%9B%BE%E8%AE%BA%E7%AE%97%E6%B3%95&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-4-80313879.nonecase&spm=1018.2226.3001.4187,是CSDN上的一位对图论相关知识的总结,分别学习每一部分后受益匪浅,包括树的知识也有较深体会。(强推)
p1441题面
01迷宫
题目描述
有一个仅由数字0与1组成的n×n格迷宫。若你位于一格0上,那么你可以移动到相邻4格中的某一格1上,同样若你位于一格1上,那么你可以移动到相邻4格中的某一格0上。
你的任务是:对于给定的迷宫,询问从某一格开始能移动到多少个格子(包含自身)。
输入格式
第1行为两个正整数n,m。
下面n行,每行n个字符,字符只可能是0或者1,字符之间没有空格。
接下来m行,每行2个用空格分隔的正整数i,j,对应了迷宫中第i行第j列的一个格子,询问从这一格开始能移动到多少格。
输出格式
m行,对于每个询问输出相应答案。
样例 #1
样例输入 #1
2 2
01
10
1 1
2 2
样例输出 #1
4
4
提示
所有格子互相可达。
对于20%的数据,n≤10;
对于40%的数据,n≤50;
对于50%的数据,m≤5;
对于60%的数据,n≤100,m≤100;
对于100%的数据,n≤1000,m≤100000。