搜索
热搜: NOIP OIer 神牛
查看: 328|回复: 0

1246--场景布置

[复制链接]

主题

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2023-1-16 11:11:34 | 显示全部楼层 |阅读模式
本帖最后由 tiger 于 2023-1-16 11:11 编辑

题目描述
全屏
著名电影大师库布里克喜欢将黑白格子元素融入画面中,这样会混淆空间感,且在黑白电影时代产生了很大的影响。
小奇受到了这个启发,想要拍摄自己的第一条vlog,他为自己摄影棚地面上铺设白色、黑色两种颜色的正方形瓷砖。这时候小奇的助手提出了一个刁钻的问题,当小奇站在其中一块黑色的瓷砖上,只能向相邻的黑色瓷砖移动。请写一个程序,计算小奇总共能够到达多少块黑色的瓷砖。

输入
包括多个数据集合。每个数据集合的第一行是两个整数W和H,分别表示x方向和y方向瓷砖的数量。W和H都不超过20。在接下来的H行中,每行包括W个字符。每个字符表示一块瓷砖的颜色,规则如下:
1、‘.’:黑色的瓷砖;
2、‘#’:白色的瓷砖;
3、‘@’:黑色的瓷砖,并且小奇站在这块瓷砖上。该字符在每个数据集合中唯一出现一次。
当在一行中读入的是两个零时,表示输入结束。


输出
对每个数据集合,分别输出一行,显示小奇从初始位置出发能到达的瓷砖数(记数时包括初始位置的瓷砖)。

样例输入1
[backcolor=rgba(234, 234, 234, 0.46)]6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
0 0



样例输出1
[backcolor=rgba(234, 234, 234, 0.46)]45


提示/说明
[backcolor=rgba(234, 234, 234, 0.46)]输入的数据集数量<=1000



标签
普及 其他 深度优先搜索,DFS


输入:. 为黑色
#为白色
@为小奇的位置
6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
可以经过的黑点
#
.#
这个点到不了
可以到达的是:6*9-3*3=45
这样就要用深搜(DFS)
//伪代码
if(n == "#") continue;
if(n == '.') step++;
                m = n;

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

津ICP备19006949号-1 | 津公网安备12010102000465号

快速回复 返回顶部 返回列表