#3789. 立体推箱子2

    ID: 3789 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索广度优先搜索BFS数学计算算法竞赛进阶指南

立体推箱子2

题目描述

达达发明了一种立体推箱子游戏。

他发明的游戏里并没有那么多的规则和限制,在他的设定里游戏具有无限的平面空间,并且所有的区域都属于硬地。(关于立体推箱子游戏的各种概念和设定请参考 172 题)

终点永远都位于坐标 (0,0) 处的情况下,请你求出从起点到终点所需的最少移动次数是多少。

输入格式

输入包含多组测试用例。

每组测试数据在一行内,格式为 C x y,其中 C 为一个字母,x 和 y 是两个整数。

这表示长方体覆盖住了平台上的格子 (x,y),且其状态为 C。

若 C 为字母 U,表明长方体是竖立的。

若 C 为字母 V,表明长方体与 x 轴平行,且其覆盖的另一个格子为 (x+1,y)。

若 C 为字母 H,表明长方体与 y 轴平行,且其覆盖的另一个格子为 (x,y+1)。

输出格式

对于每个测试用例,输出一个占一行的整数,表示所需的最少移动次数。

样例

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

数据范围

0x,y10000000000≤x,y≤1000000000

来源

  • POJ3323
  • 算法竞赛进阶指南