2
チャンピオンになる
三目並べ! これは実話なので、名前は変更されています。 ラテン語の先生であるラテン氏は、独自の(冗談ではない)三目並べを作成しました。tic-tac-latinと呼びましょう。ゲームはシンプルで、基本的に三目並べで4 x 4のグリッドでプレイされます。 正式なルール宣言 ラインは、行、列、または対角線のいずれかです。「X」と「O」の2つの記号がありますが、1つまたは両方を別の記号に置き換えることができます。 シンボルを3つと他のキャラクターを1つ持っているときに1ポイントを獲得します。 これらのアレンジメントのスコア: --- O -O-- XXXO XOOX O -XX - O - - X - --- O これらは得点しません: ---- XXXX ---- OOOO ---- XXX- ---- OOO- 1人のプレイヤーが他のプレイヤーよりも多くのポイントを獲得するたびに、ゲームに勝ちます。ボードがいっぱいになった場合にのみ、ゲームは引き分けです。 チャレンジ このゲームを解決してください。あなたの仕事は、勝ちと引き分けのどちらか最適な結果を保証する方法を提供することです。 ソリューションは、最初に開始するか、2番目に開始するかを選択できます(したがって、そのシンボルを選択できます)。ユーザー入力が移動し、対応する表示が変化するインタラクティブなゲームを実装することは必須ではありません。また、ゲームの状態として入力を受け取り、新しいボードまたはそれらの動きの説明を出力する関数またはプログラムでもあります。どちらのオプションも、移動ごとに約10秒以内に実行する必要があります。 一連の動きに対してプレーヤーをプレイすると、最適な結果が得られます。これは、入力位置がプレーヤーでのプレイから到達可能な位置であると想定できることを意味します。提出物は決定論的である必要があり、必ずしも最適性の証拠を提供する必要はありませんが、(打たれることにより)クラックされる場合、あなたの提出物は無効とみなされます(あなたはそれを残すことができますが、見出しに(クラックする)を追加します)。 これは簡単な作業ではないので、有効な提出は印象的であり、受け入れられたダニの価値がありますが、私はコードゴルフを主要な勝利基準にします。 勝者は、1人の勝者が選択されるまでこのリストを下って行くことによって選択されます。 常に勝つ最短の解決された実装 最短の実装