CF60B Serial Time!

题目描述

Cereal Guy 的朋友 Serial Guy 喜欢看肥皂剧。一集肥皂剧快要开始了,但他还没洗他的盘子。不过,他决定至少把盘子放在水龙头下接点水。这个盘子可以用一个平行六面体 $k \times n \times m$ 来表示,即它有 $k$ 层(第一层是最上面那一层),每层是一个 $n \times m$ 的矩形,由空格('.')和障碍物('#')组成。水只能存在于空格位置。水龙头位于第一层的第 $(x, y)$ 个格子的正上方,并且保证这个格子是空的。每分钟会有一个单位体积的立方体水落入盘中。请你计算 Serial Guy 需要多少分钟才能放满盘子而不至于溢出。也就是说,你需要找出盘子完全被水填满、下一个单位水就会溢出的那一刻。 注意:水会填满所有可达区域(参见样例 4)。水能沿 $1 \times 1 \times 1$ 小立方体的六个面流动。

输入格式

第一行包含三个整数 $k, n, m$($1 \leq k, n, m \leq 10$),分别表示盘子的尺寸。接下来有 $k$ 个由 $n$ 行组成的矩形,每行有 $m$ 个字符,分别是 '.' 或 '#',表示盘子的每一层,从上到下排列。每两个矩形之间有一行空行(参见样例)。最后一行包含 $x$ 和 $y$($1 \leq x \leq n, 1 \leq y \leq m$),表示水龙头所在的坐标。$x$ 表示行号,$y$ 表示列号。每层的行号从左到右为 $1$ 到 $n$,列号从上到下为 $1$ 到 $m$。

输出格式

输出一行一个整数,表示盘子被水装满所需的分钟数。

说明/提示

由 ChatGPT 5 翻译