Red and Black
Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 2083Accepted Submission(s): 1356
Problem Description
There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he can move to one of four adjacent tiles. But he can't move on red tiles, he can move only on black tiles.
Write a program to count the number of black tiles which he can reach by repeating the moves described above.
Input
The input consists of multiple data sets. A data set starts with a line containing two positive integers W and H; W and H are the numbers of tiles in the x- and y- directions, respectively. W and H are not more than 20.
There are H more lines in the data set, each of which includes W characters. Each character represents the color of a tile as follows.
'.' - a black tile
'#' - a red tile
'@' - a man on a black tile(appears exactly once in a data set)
Output
For each data set, your program should output a line which contains the number of tiles he can reach from the initial tile (including itself).
Sample Input
6 9
....#.
.....#
......
......
......
......
......
#@...#
.#..#.
11 9
.#.........
.#.#######.
.#.#.....#.
.#.#.###.#.
.#.#..@#.#.
.#.#####.#.
.#.......#.
.#########.
...........
11 6
..#..#..#..
..#..#..#..
..#..#..###
..#..#..#@.
..#..#..#..
..#..#..#..
7 7
..#.#..
..#.#..
###.###
...@...
###.###
..#.#..
..#.#..
0 0
Sample Output
【解题思路】像四个方向搜索可达的.的数量,并吧访问过的标记为#
分享到:
相关推荐
"C++递归与分治算法解的Red and Black问题、Fractal问题、Rank the Languages问题详解" 本文档将详细介绍C++递归与分治算法在解决Red and Black问题、Fractal问题、Rank the Languages问题中的应用,包括问题描述、...
Black blob本身和Red blob完全相同,只不过在从Black blobs派生加密密钥(BKEK)时与Red blobs有所不同,这阻止了Black blobs被错误地当作Red blobs解封装,从而避免了密钥暴露在内存中的风险。 3. 用于数据加密和...
#include "redblack.h" #include #include "fatal.h" 头文件: #include #include "fatal.h" typedef int ElementType; #define NegInfinity (-10000) #ifndef _RedBlack_H #define _RedBlack_H struct ...
标题“POJ 1979 Red and Black”是一个编程竞赛题目,主要涉及的问题是算法设计,特别是搜索算法。在这个问题中,广度优先搜索(BFS)和深度优先搜索(DFS)这两种策略被用来解决特定的红黑树相关的问题。红黑树是一...
红黑树(Red-Black Tree)是一种自平衡二叉查找树,由计算机科学家Rudolf Bayer在1972年提出。它的名字来源于节点可能有的两种颜色:红色或黑色。红黑树的主要特性保证了其在操作上的高效性,如插入、删除和查找等...
红黑树(Red Black Tree)是一种自平衡二叉查找树,是在计算机科学中用到的一种数据结构,典型的用途是实现关联数组。 红黑树是一种特化的AVL树(平衡二叉树),都是在进行插入和删除操作时通过特定操作保持二叉树的...
红黑树(Red-Black Tree)是一种自平衡二叉查找树,由Rudolf Bayer在1972年提出,它的每个节点都带有颜色属性,可以是红色或黑色。这种数据结构在计算机科学中有着广泛的应用,特别是在实现关联数组、数据库索引、...
左倾红黑树(Left-Leaning Red-Black Trees, LLRB)是红黑树的一个变种,由Robert Sedgewick提出。它简化了红黑树的实现,主要体现在两个方面: 1. 所有的红色节点都向左倾斜,即红色节点只能作为左子节点存在。 2. ...
"test_red_black_tree.cc"是一个测试文件,可能包含了针对红黑树实现的各种测试用例,用于验证算法的正确性。 "red_black_tree.h"是头文件,它定义了红黑树的数据结构和公开的接口,供其他模块调用。 "stack.h"是...
标题中的"Python库 | red-black-tree-mod-1.11.tar.gz"指的是一种基于Python实现的红黑树数据结构的库,版本为1.11,并被打包成tar.gz格式的压缩文件。红黑树是一种自平衡二叉查找树,它的设计目标是保证在进行插入...
C#,红黑树(Red-Black Tree)的构造,插入、删除及修复、查找的算法与源代码 1 红黑树(Red-Black Tree) 如果二叉搜索树满足以下红黑属性,则它是红黑树: 每个节点不是红色就是黑色。 根是黑色的。 每片叶子(无...
红黑树 这是Ada 2012对(一种自平衡... package Int_Tree is new Generic_Red_Black_Tree (Integer); use Int_Tree; T: Red_Black_Tree; C: Cursor; begin -- populate the tree -- ... -- Ada 2005 iteration C
红色-黑色树(Red-Black Tree)是一种自平衡二叉查找树,它的设计目标是保持树的平衡,从而在插入和删除操作时保持高效的性能。这个RAR压缩包包含了一个名为"Proyecto - DAA - Eliminacion en un RED-BLACK_TREE"的...
红黑树(Red-Black Tree)是一种自平衡二叉查找树,它在计算机科学中扮演着重要的角色,尤其是在数据结构和算法领域。红黑树的名字来源于它的节点颜色属性:红色或黑色。这种颜色属性被用来确保树的某些关键性质,...
这一版代码个人认为99.99%正确,本人使用些结构及算法用于实现嵌入式迅雷Server的任务管理。此代码经本人学习研究之后从C语言版BT源代码中的宏定义式代码中分离出来,并做成一个测试版。你也可以做一些微小的...
介绍AVL树与红黑树,按照例子一步一图,可以对照我的博客进行理解。不明白的email durant2019@sina.com
红黑树(Red-Black Tree)是二叉搜索树(Binary Search Tree)的一种改进。我们知道二叉搜索树在最坏的情况下可能会变成一个链表(当所有节点按从小到大的顺序依次插入后)。而红黑树在每一次插入或删除节点 之后...
因为实验要求指定了输入哪些数据,所以在实现时我用了一个数组将所有的数据保存到内存里,然后直接调用插入和删除操作,这样就不再需要用户输入数据,省去了输入数据的麻烦。删除操作也是在程序里直接调用的,不要...
RedBlackTree-master基于 C 语言实现了红黑树(Red-Black Tree)以及用户测试程序。其中红黑树的实现基于二叉树、二叉排序树和平衡二叉树的接口。用户测试程序实现了初始化、销毁、插入、删除、查找、遍历、打印红黑...