c++佚名者学校根据c++编程开了很多课程。
这是一个阳光明媚的日子。清风轻抚大地,划过河岸,嬉戏在柳树间。小航离开宿舍,在春光的沐浴中走向“算法教室”。
算法课由XC老师开展教授。“叮——叮——”上课铃响了,GDN老师走入教室,“废话不说,上课!”
“同学们对基础算法之一——DFS掌握的还挺好的,今天我们就学习BFS,就是!请同学们认真听课!”GDN老师扫视着同学们。
“BFS属于一种盲目搜寻法,目的是系统地展开并检查图中的所有节点,以找寻结果。换句话说,它并不考虑结果的可能位置,彻底地搜索整张图,直到找到结果为止。”GDN老师看着认真认真听讲的同学们,“通过你们现在看到的程序,我们可以认识到它的搜索流程”
“好了,话说‘时间是验证真理的一个重要环节’(我瞎编的),我们现在就来做题吧!请看题”
描述:
有一间长方形的房子,地上铺了红色、黑色两种颜色的正方形瓷砖。
你站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,
计算你总共能够到达多少块黑色的瓷砖。
输入:
包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向
瓷砖的数量。W和H都不超过20。在接下来的H行中,每行包括W个字符。每个字符表示
一块瓷砖的颜色,规则如下
1)‘.’:黑色的瓷砖;
2)‘#’:白色的瓷砖;
3)‘@’:黑色的瓷砖,并且你站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。
当在一行中读入的是两个零时,表示输入结束。
输出:
对每个数据集合,分别输出一行,显示你从初始位置出发能到达的瓷砖数(记数时包括初始
位置的瓷砖)。
样例输入:
6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
0 0
样例输出:
45
“这是一道非常经典的搜索题”GDN老师说。
(File IO): input:area.in output:area.out
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
编程计算由“*”号围成的下列图形的面积。面积计算方法是统计*号所围成的闭合曲线中水平线和垂直线交点的数目。如下图所示,在10*10的二维数组中,有“*”围住了15个点,因此面积为15。
输入:
输出:
样例输入:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 0 1 0 0 1 0 1 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0
样例输出:
15
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
一个矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数。如:
阵列:
4 10
0234500067
1034560500
2045600671
0000000089
e有4个细胞。
输入:
输出:
样例输入:
4 10 0234500067 1034560500 2045600671 0000000089
样例输出:
4
“触及算法的问题没有具体的做法,需要慢慢摸索、探求规律、多练多做,才能真正掌握!”GDN老师一脸严肃地望着同学们……
以上就是本篇文章【【抄抄题解,以题代学】清风中的BFS】的全部内容了,欢迎阅览 ! 文章地址:http://nhjcxspj.xhstdz.com/quote/447.html 行业 资讯 企业新闻 行情 企业黄页 同类资讯 网站地图 返回首页 物流园资讯移动站 http://yishengsujiao.xhstdz.com/ , 查看更多