SP272 CAVE - Cave Exploration
题目描述
很久以前,有人宣称他探索了一个洞穴,并访问了所有的走廊。换句话说,他在每条走廊上至少走过一个点。这些走廊都由水平或垂直线段组成。如果他曾经踏足过走廊上的任何一个点,这条走廊就算被访问过了。
现在,你想验证这个说法是否属实。你手上有这座洞穴的地图,并且知道探险者的移动规律:如果可以左转,他就左转;如果不能左转,则保持直行;如果直行可行,他就直行;否则,他会选择右转;最后,如果以上都不能,他将选择掉头。当探险者第二次回到入口点时,探险结束。你的任务是计算出探险者没有访问过的走廊数量。
输入格式
输入的第一行为一个整数 $T (T \le 20)$,表示需要验证的地图数量。对于每张地图,首先是一行整数 $N (N \le 1000)$,表示走廊的总数。已知任意两条水平走廊或者两条垂直走廊都不会有公共点。接下来的 $N$ 行,每行详细描述一条走廊:以 'V' 或 'H' 开头,分别表示垂直或水平走廊。对于一条水平走廊,接着是一个 $Y$ 坐标和两个 $X$ 坐标;对于一条垂直走廊,后面则是一个 $X$ 坐标和两个 $Y$ 坐标。每张地图的最后一行给出入口点的 $X$ 和 $Y$ 坐标以及初始行进方向('W' 为向左,'E' 为向右,'N' 为向上,'S' 为向下)。你可以假设入口点不在任何两条走廊的交点上,并且探险者总是能按照给定的方向前进。所有坐标都是整数,绝对值不超过 $32767$,垂直和水平走廊的数量分别不超过 $500$ 条。
输出格式
对于每张地图,输出一个整数,表示未被访问的走廊数量,每个结果单独占一行。
**本翻译由 AI 自动生成**