解説
手始めに、スタート地点のマス (si,sj) とゴール地点のマス (gi,gj) を見つけましょう。
グリッドを表す 2 次元配列 C について、Ci,j= S や Ci,j= G となる添え字 (i,j) を繰り返し処理で見つければ良いです。
次に、上下方向と左右方向のそれぞれについて処理します。
上下方向
- si<gi のとき、下方向に移動します。
v を gi−si 個出力すれば良いです。
- si>gi のとき、上方向に移動します。
^ を si−gi 個出力すれば良いです。
- si=gi のとき、上下方向に移動しません。
左右方向
- sj<gj のとき、右方向に移動します。
> を gj−sj 個出力すれば良いです。
- sj>gj のとき、左方向に移動します。
< を sj−gj 個出力すれば良いです。
- sj=gj のとき、左右方向に移動しません。
このように指示を表す文字列 X を作成すれば良いです。