3
アイスゴルフチャレンジ
この課題の目標は、特定のコースを完了するために必要な最小限のストライクを返すプログラムまたは関数を作成することです。 入力 コースのレイアウトは、適切な方法で渡すことができ、お好みの形式にできます。(コンソールから読み取られ、入力パラメーターとして渡され、ファイルまたはその他の複数行ストリング、ストリング配列、2次元文字/バイト配列から読み取られます)。 ボールとホールの開始位置も入力として渡すことができます。入力から解析する必要はありません。テストケースでは、実際の位置について混乱がないことを確認するために、コースに含まれています。 入力文字を別の文字(印刷可能なASCII文字など)として認識できる限り、他の文字に再マッピングできます。 出力 プログラムは、賢明な形式(結果を説明する文字列、整数、浮動小数点数または俳句)で入力として渡されたコースについて、可能な限り低いスコア(ホールに到達するために必要なストライキの最小量)を返す必要があります コースを打つことが不可能な場合は、リターンします-1(または、ビート可能なコースでは返されない、選択した他の偽の値)。 例: この例では、位置は0ベース、X / Y、左から右、トップダウンで表記されていますが、結果は完全にフォーマットに依存しないため、任意のフォーマットを使用できます。 入力: ########### # ....# # ...# # ~ . # # ~~~ . # # ~~~~ # # ~~~~ # # ~~~~ o # # ~~~~ # #@~~~~ # ########### Ball (Start-Position): 1/9 Hole (End-Position): 8/7 出力: 8 …