100 atcoder#ABC051C. [ABC051C] Back and Forth

[ABC051C] Back and Forth

题目描述

イルカは x x 軸正方向を右、y y 軸正方向を上とする 2 次元座標平面にいます。
イルカは現在点 (sx,sy) (sx,sy) にいて、1 1 秒あたり上下左右に距離 1 1 だけ進むことができます。
このとき、移動前と移動後の x x 座標、y y 座標はともに整数でなければなりません。
イルカはここから sx と sy を満たす点 (tx,ty) sx\ と\ sy\ を満たす点\ (tx,ty) に行き、その後点 (sx,sy) (sx,sy) に戻り、また点 (tx,ty) (tx,ty) に行き、その後点 (sx,sy) (sx,sy) に戻ります。
このとき、イルカは点 (sx,sy) (sx,sy) と点 (tx,ty) (tx,ty) を除いて、途中で同じ座標を複数回通らないように移動しなければなりません。
このような条件を満たすイルカの最短経路を 1 1 つ求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

sx sx sy sy tx tx ty ty

输出格式

イルカの最短経路を表す文字列 S S を出力せよ。
S S i i 番目の文字はイルカの i i 番目の移動を表す。
イルカの各方向への移動を表す文字の対応関係は以下のとおりである。

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

条件を満たすような最短経路が複数ある場合、そのうちどれか 1 1 つを出力せよ。

题目大意

在平面直角坐标系中,有点 Asx,syA(sx,sy) 和 点 Btx,tyB(tx,ty) 保证 sx<txsx<txsy<tysy<ty 并且 sx,sy,tx,tysx,sy,tx,ty 都为整数。

AA 点有一只海豚,它每次可以向上下左右其中一个方向移动一个单位长度。这只海豚想从 AA 点到 BB 点再回到 AA 点再到 BB 点再回到 AA 点。

要求:除了 A,BA,B 点以外,所有格点都不能走第二遍。海豚不能斜着走。

输出一个字符串 S 表示海豚的最短路径, S 中只包括 U,R,D,LU,R,D,L

  • UU:向上走一个单位长度。
  • RR:向右走一个单位长度。
  • DD:向下走一个单位长度。
  • LL:向左走一个单位长度。

输入格式:

一行,sx,sy,tx,tysx,sy,tx,ty

输出格式:

一行,字符串 S

如果有多个最短路径,输出其中任意一个。

Translate by @sqh_let_it_be

0 0 1 2
UURDDLLUUURRDRDDDLLU
-2 -2 1 1
UURRURRDDDLLDLLULUUURRURRDDDLLDL

提示

制約

  • 1000 sx -1000≦\ sx
  • 1000 sy -1000≦\ sy
  • sx,sy,tx,ty sx,sy,tx,ty は整数である。

Sample Explanation 1

以下に示す移動経路が最短経路の 1 1 つです。 - 1 1 回目の (sx,sy) (sx,sy) から (tx,ty) (tx,ty) への移動: (0,0) (0,0) (0,1) (0,1) (0,2) (0,2) (1,2) (1,2) - 1 1 回目の (tx,ty) (tx,ty) から (sx,sy) (sx,sy) への移動: (1,2) (1,2) (1,1) (1,1) (1,0) (1,0) (0,0) (0,0) - 2 2 回目の (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) - 2 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)