#3180. C - Back and Forth

C - Back and Forth

Time Limit: 2 sec / Memory Limit: 256 MB

问题陈述

海豚位于二维笛卡尔平面内,正 xx 轴指向右,正 yy 轴指向上。
目前,他位于 (sx,sy)(sx,sy) 点。每秒钟,他可以向上、向下、向左或向右移动 11 的距离。
在这里,每次移动前后的 xx 坐标和 yy 坐标都必须是整数。
他将首先访问 sx<txsx < txsy<ty sy < ty 所在的点 (tx,ty)(tx,ty) ,然后回到点 (sx,sy)(sx,sy) ,接着再次访问点 (tx,ty)(tx,ty) ,最后回到点 (sx,sy)(sx,sy)
在这里,除了 (sx,sy)(sx,sy)(tx,ty)(tx,ty) 这两个点之外,在整个旅行过程中,他不能多次经过同一个点。
在此条件下,请为他找出一条最短的路径。

限制因素

  • 1000sx<tx1000-1000 ≤ sx < tx ≤ 1000
  • 1000sy<ty1000-1000 ≤ sy < ty ≤ 1000
  • sx,sy,txsx,sy,txtyty 都是整数。

输入

输入内容由标准输入法提供,格式如下

sx sy tx ty

输出

打印表示 Dolphin 最短路径的字符串 SS
SS 中的 ii -th 字符应该与他的 ii -th 运动相对应。
运动的方向应该用下面的字符来表示:

  • U:向上
  • D:向下
  • L:左
  • R:右

如果条件下存在多条最短路径,则打印其中任何一条。

Sample Input 1

0 0 1 2

样本输出 1

UURDDLLUUURRDRDDDLLU

一条可能的最短路径是

  • 第一次从 (sx,sy)(sx,sy)(tx,ty)(tx,ty)(0,0)(0,0)(0,1)(0,1)(0,2)(0,2)(1,2)(1,2)
  • 第一次从 (tx,ty)(tx,ty)(sx,sy)(sx,sy)(1,2)(1,2)(1,1)(1,1)(1,0)(1,0)(0,0)(0,0)
  • 第二次从 (sx,sy)(sx,sy)(tx,ty)(tx,ty)(0,0)(0,0)(1,0)(-1,0)(1,1)(-1,1)(1,2)(-1,2)(1,3)(-1,3)(0,3)(0,3)(1,3)(1,3)(1,2)(1,2)
  • 第二次从 (tx,ty)(tx,ty)(sx,sy)(sx,sy)(1,2)(1,2)(2,2)(2,2)(2,1)(2,1)(2,0)(2,0)(2,1)(2,-1)(1,1)(1,-1)(0,1)(0,-1)(0,0)(0,0)

Sample Input 2

-2 -2 1 1

输出示例 2

UURRURRDDDLLDLLULUUURRURRDDDLLDL