5
曲線上の点の対極を計算する
曲線は、正方形のグリッド上の点のセットであり、各点は4近傍の正確に2つの近傍を持ち、点は単一の連結成分を形成します。つまり、グリッドグラフ上のポイントによって誘導されるグラフは、単一のサイクルと同型です。「誘導」とは、2つのポイントがサイクル内で隣接していなければ入力をタッチできないことを意味します。 グラフ内の頂点Vの対極は、Vから最も遠い頂点です。対極は、偶数長のサイクルでは常に一意です(グリッドグラフの各サイクルは偶数長です)。距離は、基礎となる正方形グリッドを考慮せずに、サイクル自体によって誘導されるように測定するものとします。 入力は曲線の画像でなければなりません。曲線は#、スペース文字()から背景に番号記号文字()のシーケンスでマークアウトされます。曲線上の点の1つにP文字(「ポッド」)が付けられます。出力は入力と同じになりますが、1つのカーブポイントがA(「対極」)に置き換えられます。 文字が長方形にパディングされると仮定することができます。入力の最初と最後の行と列は完全にスペースで構成されていると想定できます(入力には背景が埋め込まれます)。または、最初と最後の行と列にそれぞれ曲線ポイントが含まれると想定することもできます(入力には最小のパディングがあります)。 このグリッドは、改行で区切られた単一の文字列、行の配列、または個々の文字の2D配列として入出力できます。この選択は、入力と出力で同じです。言語でこれが許可されている場合、変更された文字列または配列を返す代わりに、入力をその場で変更して出力できます。 可能な入力: P# P## #P# ##### #####P# ####### #####P######### #####P######### ## # # # # # # # # # # # # # # ### ### ## ## # ### # # ### # # ### ### ### # # # ### # # ### …