#P1002. 流程图(flowchart)
流程图(flowchart)
流程图(flowchart)
题目描述
一套“流程图”是由一系列容器和管道组成的系统。该系统由 个容器组成,用 1 到 的数字表示。如果从 1 号容器开始注水,确定各个容器被注满的顺序。我们可以用一个 行 列的字符矩阵来描述这样一套“流程图”。图中的容器呈矩形状,容器和管道的轮廓用以下字符表示:
- ‘-’:如果是轮廓的水平部分;
- ‘|’:如果是轮廓的垂直部分;
- ‘+’:如果是轮廓的水平和垂直部分连接的地方。
一个例外是容器和管道连接的地方。在这种情况下,容器轮廓占主导地位。如果在每个容器内的任意位置出现有连续一串数字,则该串数代表所属容器的编号标签。容器矩阵中的所有其他字符都用点‘.’表示。
除了标有 1 的容器外,所有容器都有恰好一根供应管道从其上方进入容器。标有 1 的容器没有供应管道,注水到 1 号容器并不通过管道。容器可能有多个(也可能没有)排放管道从其侧面离开容器。排放管道离开容器的位置在矩阵中相互不同的行出现。管道直接连接两个容器,这意味着不可能将管道分开或将多个管道连接在一起,也没有两条管道会相交。从源头到目的地容器的途中,管道总是下降到下一行,或者保持在同一行。
水进入一个容器后,会一直不断流入,直到该容器满了。如果水位达到排放管道的水平,水就会通过那个管道流出,直到该管道通向的容器都被填满。请确定容器将被填满的顺序。
测试数据保证
- 每个'+'字符周围恰好有一个'—'在左侧或右侧,以及一个'|'在上方或下方,而其他所有相邻字符在四个方向上都是'.'。
- 管道与容器轮廓相邻的唯一地方是管道的入口或出口。也就是说,管道不会紧贴容器运行,除非是在连接点。
输入格式
输入第一行为正整数 和 ,表示整张图的尺寸。接下来的 行,每行包含 个字符,描述了整个系统。
输出格式
输出共 行。第 行包含第 个填满的容器的编号标签。保证答案一定存在并且唯一。
样例
样例 1 输入
8 10
..........
.......+-+
...+---|1|
...|...+-+
...|......
..+-+.....
..|2|.....
..+-+.....
样例 1 输出
2
1
样例 1 解释
首先填满 2 号容器,然后填满 1 号容器。
数据范围
测试点编号 | 特殊性质 |
---|---|
1 ~ 7 | , |
8 ~ 10 | 无特殊性质限制 |
保证所有数据:。
相关
在下列比赛中: