01迷宫
来源:互联网 发布:cad制图机械软件 编辑:程序博客网 时间:2024/06/06 01: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:
2 201101 12 2
输出样例#1:
44
说明
所有格子互相可达。
对于20%的数据,n≤10;
对于40%的数据,n≤50;
对于50%的数据,m≤5;
对于60%的数据,n≤100,m≤100;
对于100%的数据,n≤1000,m≤100000。
这题显然可以用bfs做,可是这道题如果非要用用dfs做呢?
针对每一个点进行一次dfs一定会超时的。
如果我们把每个点的答案记录下来呢?可以,但还是tle了三个点。
这里我们可以用到虫食算中学到的一个技巧(当时把每个字母染色,每个颜色对应不同数字)。
那么我们可以把一次走过的点染成同一个颜色,如果染过色,直接读取答案就好了,这样就可以AC了。
阅读全文
0 0
- 01迷宫
- 01迷宫
- 01迷宫
- 01迷宫
- 01迷宫
- 01迷宫(二)
- 迷宫问题 192132-01
- 洛谷P1141 01迷宫
- 【u115】&&【t031】 01迷宫
- 洛谷P1141 01迷宫
- Codevs 1629 01迷宫
- [luogu1141 01迷宫]
- P1141 01迷宫题解
- P1141 01迷宫
- 洛谷 P1141 01迷宫
- 洛谷P1141 01迷宫
- P1141 01迷宫
- P1141 01迷宫
- SQLite表导出csv文件
- python读取外部数据之excel数据获取及参数说明
- 使用森林优化算法的特征选择
- Android 基于Message的进程间通信 Messenger完全解析
- webuploader大文件 分片 断点续传
- 01迷宫
- java之Apache POI 合并单元格
- table access by index rowid
- python的正则使用
- openssh-server
- Android中.9图片的含义及制作教程
- 【Hash】BZOJ4337(BJOI2015)[树的同构]题解
- PMP认证申请流程
- 系统日志