#P10493. Bloxorz II

    ID: 11817 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 显示难度普及+/提高− 上传者: 标签>O2优化广度优先搜索 BFS

Bloxorz II

题目描述

由于大灾难的发生,科学院已经连续有很多年没有新生了(这个世界中的科学院其实也有大学的职能)。于是这一年的新生测试就有里程碑一样的意义。作为科学院的顶级信息专家,这一任务自然落到了你的头上。思来想去,你决定出这样的一个题,那就是 Bloxorz 游戏。

所谓 Bloxorz 游戏,如下图所示,就是在一个平台上有一个作为目标的 1×11×1 的洞,以及一个大小为 2×1×12×1×1 的长方体。长方体可以沿着边在平台上滚动,但是不能与平台失去接触面。

下面这张图反映了上图中的长方体向右滚动之后的局面。

而下面这张图就反映了向前方滚动之后的局面。

任务就是让长方体进入目标洞。当然,这时长方体应该是竖立的。

滚动一次被叫做一步。你的题目就是对于一个给定的局面,计算至少需要多少步才能把长方体滚到目标洞里面去。自然,对于新生来说这个题是一个很难的题。

被你虐了的新生感到很不服气。于是他们想了一个更难的题来让你做:有一个无限大的平台以及一个建立在上面的坐标系,已知目标洞在 (0,0)(0, 0) 处,给定长方体的位置和状态(是竖立、与 xx 轴平行或者与 yy 轴平行),计算至少需要多少步才能使长方体进洞。

作为顶级信息专家……这当然难不倒你了。

输入格式

输入文件包含多组测试数据

每组测试数据共一行,格式为 CxyC\,x\,y,其中 CC 为一个字母,xxyy 均为整数,表示长方体覆盖了平台上的格子 (x,y)(x, y),且其状态为 CC

CC 为字母 U,表明长方体是竖立的。
CC 为字母 V,表明长方体与 xx 轴平行,其覆盖的另一个格子为 (x+1,y)(x + 1, y)
CC 为字母 H,表明长方体与 yy 轴平行,其覆盖的另一个格子为 (x,y+1)(x, y + 1)

输入文件以 EOF 结束。

输出格式

对于每组测试数据,在单独的一行内输出答案。

U 0 0
H 0 0 
V 1 0
0
4
1

提示

对于 20%20\% 的数据,x,y100|x|,|y|\le 100

对于 100%100\% 的数据,x,y109|x|,|y|\le 10^9,测试数据不超过 100100 组。