#P1972. Bloxorz II

Bloxorz II

题目描述

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

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

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

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

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

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

被你虐了的新生感到很不服气。于是他们想了一个更难的题来让你做:

有一个无限大的平台以及一个建立在上面的坐标系。现在目标洞在 (0,0)(0, 0) 处,长方体的位置和状态(竖立、与 xx 轴平行还是与 yy 轴平行)给定,计算至少需要多少步才能使长方体进洞。作为顶级信息专家 ... 这当然难不倒你了。

输入格式

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

每组测试数据在一行内,格式为 C 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 \mid x \mid , \mid y \mid \le 100

对于 100%100\% 的数据,x,y109\mid x\mid , \mid y\mid \le 10^9,输入数据不超过 100100 组。