辞書的にソートされた索引のリスト

既存のパイプに*がついている空白の部分に。がついているレターシュートシステムの描画を考えると、索引タプルのリストを辞書順に並べ替えたリストをコンパイルすることです(エントリ行、
exit row、exit
column]、各インデックスは0ベースです。エントリーポイントと出口ポイントは常に地図の境界にあります。メールは、水平、垂直、斜め方向に移動することができ、通常はパイプが曲がりくねっていない限り、その方向を維持します。
45度回転のみ可能です。メールカプセルが決して詰まることのないようにシステムが構築されています。

エントリポイントのパイプには、ちょうど1つの隣接パイプがあり、そのネイバーはエントリポイントと同じ境界にないことが保証されています。メールが最終的に出口点に到達することも保証されています。

にとって
pipesPlan = 
[[".",".","."], 
 ["*","*","*"], 
 [".",".","."]]

the output should be

airMail(pipesPlan) = [[1,0,1,2], [1,2,1,0]].

にとって

pipesPlan = 
[[".", ".", "*", ".", "."],
 [".", ".", "*", ".", "."],
 ["*", "*", "*", "*", "*"],
 [".", ".", "*", ".", "."],
 [".", ".", ".", "*", "."]]

the output should be

airMail(pipesPlan) = [[0,2,4,3], [2,0,2,4], [2,4,2,0], [4,3,2,0]].

[入力] array.char pipesPlan

    The rectangular plan of pipes, where an * marks a piece of pipe and a. 
marks an empty spot.

[出力] array.integer

    A lexicographically sorted list of tuples [entry row, entry column, 
exit row, exit column] that specify where a letter shot from entry row, 
entry column would end up according to the pipesPlan. Indices are 0-based.
ベストアンサー
申し訳ありませんが、適切な答えはありません

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です