タグ付けされた質問 「hexagonal-grid」

六角形のグリッド上のデータを含む課題。このタグは、三角形グリッド、つまり六角形グリッドの双対にも使用します(つまり、六角形グリッドの頂点が三角形グリッドの面を形成し、逆も同様です)。

9
爆発的なASCIIアートチャレンジ
戦略ゲーム「Hexplode」では、プレイヤーは交互に六角形のボードにトークンを置きます。トークンの数が隣接するタイルの数と等しくなると、そのタイルはhexplodesし、その上のすべてのトークンを周囲の隣人に移動します。ここでオンラインでゲームをプレイできます。 私はこのゲームが好きですが、特定のタイルにいくつのトークンが入っているかを正確に知ることが難しい場合があります。私は常に隣人の数を数えています。ASCIIアートがあれば、各タイルにいくつのトークンが配置されているかを思い出すのに役立ちます。 入力として正の整数を取り、サイズNの六角形のこのASCII表現を生成するプログラムまたは関数を作成する必要があります。各タイルは、タイルが持っている隣人の数になります。1は近傍がゼロの奇妙なコーナーケースであるため、1より大きい入力のみを処理する必要があります。 この番号は、STDIN、関数引数、コマンドライン引数など、ファイルからの適切な形式で取得できます。出力は、STDOUTへの印刷、ファイルへの書き込み、文字列のリスト、改行で区切られた文字列など 以下は、最初の5つの入力のサンプル出力です。 2) 3 3 3 6 3 3 3 3) 3 4 3 4 6 6 4 3 6 6 6 3 4 6 6 4 3 4 3 4) 3 4 4 3 4 6 6 6 4 4 6 6 6 6 4 3 …

22
アルファベットピラミッドを構築する
今日は、文字からピラミッドを構築します!最初の5文字の文字ピラミッドの例を次に示します。 最初の5文字を​​、間にスペースを入れて、最初に昇順、次に降順で書きます。 A B C D E D C B A 上記の行の最初の4文字についても同じことを行いますが、先頭に2つのスペースを追加します。 A B C D C B A A B C D E D C B A 最後の行が「A」になるまで同じ手順を繰り返します A A B A A B C B A A B C D C B A A B C D E …


3
蜂の巣の奇妙な生活
研究者は最近、蜂の巣の無限のフィールドに住む興味深い蜂のコロニーを発見しました。 各セルには蜂を入れることも入れないこともできます。実際、それらの生き物の生活は少し混chaとしているように見えます。コロニーは常に次のパターンで始まると計算できます。 (ビーによって描か エマニュエルBOUTET にウィキメディアコモンズ。このハニカム・アンド・ハチ画像はこのように下でリリースされる CC-BY-SA。 grumbles) その後、ミツバチのライフサイクルはいわゆる世代に分割されます。各世代の古いミツバチは死に、新しいミツバチはhatch化します。そして、それは主に彼らの細胞の隣人に依存します: ミツバチの隣人が2人以下の場合、孤独のために死にます。 ミツバチが3つ以上の隣人を持っている場合、過密のために死にます。 セルが隣接するセルに2つ、3つ、または4つの生きているミツバチを持っている場合、新しいミツバチが次世代でそこにthere化します。 死ぬミツバチは世代の終わりまで死なないので、次世代のミツバチをhatch化させるかもしれない周囲の細胞に影響を与えます。 そのようなコロニーがどのように機能するかがわかったので、何世代でもそれをシミュレートできます。 入力 入力は、標準入力で指定された単一の数値Nであり、改行で終了します。0≤ N ≤150これは、シミュレートする世代数です。 出力 出力は、標準出力では単一の数値であり、オプションで単一の改行が続きます。これは、N 世代後の生きているミツバチの数を表します。 標準エラーの追加出力は無視されます。 サンプル入力 0 5 42 100 サンプル出力 6 44 1029 5296 勝利条件 ゴルフで通例であるように、最短のコードが勝ちます。同点の場合、以前のソリューションが優先されます。 テストケース 同じテストケースを含む2つのテストスクリプトがあります。 バッシュ パワーシェル 呼び出しはどちらの場合でも:<test script> <my program> [arguments]、./test ruby beehive.rbまたは./test.ps1 ./beehive.exe。 151の代わりに22のテストしかないことを知っています(主にソリューションが非常に遅いため)。タスクを解決する代わりに、正確なテストケースを埋め込むことは控えてください。これらのスクリプトは、変更によってプログラムが正しく動作するかどうかをテストするのに便利です。特定のテストケースにコードを適応できるわけではありません。 別のメモ このタスクは、2011〜W24の間に私の大学で開催されたゴルフコンテストの一部でした。出場者のスコアと言語は次のとおりです。 336 – …

4
埋め込み六角形!
あなたのタスク:整数を指定するとn、以下の規則に従って、n番目の深さまで埋め込み六角形パターンを生成します。 埋め込まれた六角形の基本形状は次のとおりです:(n=0) __ / \ \__/ 埋め込み六角形n=1およびn=2: ____ / \ \ /\__/ \ \ / \____/ ________ / \ \ \ /\__/ \ \ /\ / \ / \____/ \ \ / \ / \ / \________/ 各辺の長さは、前の深さの同じ辺の長さの2倍の2倍です。上部と下部は2文字の長さn=0で、残りは1文字の長さで始まります。上下以外の辺の長さは2^n長くする必要があり(OEIS:A000079)、上下の辺はルールに従う必要があります2^(n+1)(同じOEIS)。 現在の六角形のインデックスは0ですが、必要に応じて1インデックスを使用することもできます。 これはcode-golfなので、最短の答えが勝ちです!

15
g l f a t a n 2
時には、デカルト座標(x,y)を極座標に変換するのは本当に大変です(r,phi)。r = sqrt(x^2+y^2)非常に簡単に計算できますが、角度を計算する際にケースの区別が必要になることがよくあります。phiこれarcsinはarccos、arctanおよび他のすべての三角関数が、それぞれが円の半分のみに広がる共領域を持つためです。 多くの言語には、直交座標を極座標に変換するための組み込みatan2機能があります。または、少なくとも(x,y)角度を計算する関数がありますphi。 仕事 あなたのタスクは、2つ(浮動小数点、両方ではないゼロ)デカルト座標を取るプログラム/関数を記述することで(x,y)、対応する極角出力するphi、phiと(度、ラジアン、またはグレードでなければならないグレード Iは、平均グラジアン 1であります/ 400の完全な円)、あなたにとってより便利な方。 角度は正の方向で測定され、の角度はゼロです(1,0)。 詳細 あなたは、角度計算ビルトインを使用することはできませんphiを含む2点の座標、与えられたatan2、rect2polar、argOfComplexNumberおよび同様の機能を。ただし、通常の三角関数とその逆関数を使用できます。これらの関数は1つの引数のみを取ります。単位記号はオプションです。 半径はr非負でなければならない、とphiの範囲でなければなりません[-360°, 360°](それはあなたの出力かどうかは関係ありません270°か-90°)。 例 Input Output (1,1) 45° (0,3) 90° (-1,1) 135° (-5,0) 180° (-2,-2) 225° (0,-1.5) 270° (4,-5) 308.66°
18 code-golf  math  geometry  trigonometry  code-golf  number-theory  fibonacci  code-golf  math  sequence  fibonacci  code-golf  string  code-golf  math  graphical-output  geometry  code-golf  string  code-golf  math  geometry  code-golf  math  bitwise  number  popularity-contest  graphical-output  image-processing  fractal  code-golf  number-theory  code-golf  date  multi-threading  code-golf  math  code-golf  math  number  sequence  code-golf  math  number  sequence  arithmetic  code-golf  decision-problem  logic-gates  code-golf  decision-problem  balanced-string  code-golf  math  arithmetic  combinatorics  code-golf  expression-building  code-golf  physics  code-golf  abstract-algebra  code-golf  number  arithmetic  integer  code-golf  ascii-art  number  code-golf  number-theory  primes  code-golf  arithmetic  grid  code-golf  code-golf  sequence  code-golf  kolmogorov-complexity  compression  code-golf  math  number  arithmetic  array-manipulation  code-golf  primes  hexagonal-grid  complex-numbers  code-golf  number  counting  code-golf  math  number  arithmetic 

2
三角形グリッド上の位置合わせ
六角形のグリッドは、最近2次元データに関する課題でかなり人気のあるひねりになりました。ただし、これまで同様に興味深い三角形のグリッドはほとんど無視されてきたようです。かなり単純な挑戦でそれを修正したいと思います。 まず、三角形のグリッドをどのように表現しますか?次の例を考えてみてください(今は正しい図を無視してください): セルはきちんと規則的なグリッドに落ちます(規則的なグリッドとの違いは、どのセルが隣接していると見なされるかだけです): 1234567 89abcde fghijkl mnopqrs さて、右の図が示すように、三角形のグリッドには3つの主軸があります。水平軸と2つの対角軸です。 ASCIIグリッドでこれらを強調表示します。 AVAVAVA VAabcAV fVAiAVl mnVAVrs チャレンジ 三角形のグリッド(左上隅が上向きの三角形)を表す長方形の文字列が与えられます。ほとんどのセルはbe .ですが、正確に2つのセルはになります#。例: ....# .#... ..... 2つ#がグリッドの3つの軸のいずれかに沿って配置されているかどうか(つまり、上で強調表示されている3つの方向のいずれかの単一行にあるかどうか)を決定します。この例では、答えは「いいえ」です。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、改行またはその他の便利な文字で区切られた単一の文字列、または文字列のリストです。.およびの代わりに、任意の2つの(一貫した)印刷可能なASCII文字を使用でき#ます。 ハイライトされたセルが整列している場合、出力は真実の値である必要があり、そうでない場合は偽の値である必要があります。 標準のコードゴルフ規則が適用されます。 テストケース 真のグリッド: .#..#. # # ........... ...#....... ........... ........... ........... .......#... ........... ........... .......#... ........... ........... ........... ...#....... ........... .#......... ........... ........... ........... ........... .......#... ........... …

2
六角形のタイル上の生き物を数える
この課題では、タイルゲームパラゴで「生き物」を数えます。 クリーチャーとは、六角形のグリッドにある同じ色のパラゴタイルで形成できる閉じた形状です。 ゲームPalagoは、次のようなタイルで構成されています。 これらのタイルを回転させることができる120∘120∘120^\circ、240∘240∘240^\circ、または全てに六角形グリッド上の任意の場所に配置します。たとえば、12個のタイルを必要とする(赤)クリーチャーは次のとおりです。 チャレンジ この課題の目標は、整数nを入力として受け取り、nタイルを必要とする(回転と反射までの)クリーチャーの数を計算するプログラムを作成することです。このプログラムは、最大処理することができる必要がありn=10にTIO。これはcode-golfであるため、最小バイトが勝ちます。 サンプルデータ 値は、作成者のWebサイトの「クリーチャーカウントと推定」セクションにあるデータと一致する必要があります。すなわち n | output ---+------- 1 | 0 2 | 0 3 | 1 4 | 0 5 | 1 6 | 1 7 | 2 8 | 2 9 | 9 10 | 13 11 | 37 12 | 81

7
ガウスからアイゼンシュタイン
整数ガウスを与え+ bはIここで、bは整数であり、iは= EXPを(π I / 2 )虚数単位であり、(ユークリッド距離にWRT)最も近いを返すアイゼンシュタイン整数K + L ω K、Lはです整数およびω = EXP (2 π I / 3 )= (- 1 + I √a+bia+bia+biaaabbbi = exp(πi / 2 )私=exp⁡(π私/2)i = \exp\left(\pi i/2\right)K + L個のωk+lωk+l\omegakkklllω=exp(2πi/3)=(−1+i3–√)/2ω=exp⁡(2πi/3)=(−1+i3)/2\omega = \exp(2\pi i/3) = (-1+i\sqrt{3})/2。 バックグラウンド すべてのガウス整数は一意のように書くことができることを、おそらく非常に明白である+ B Iと、Bの整数。それはとても明らかそれでも真ではない:任意アイゼンシュタイン整数を一意のように書くことができるK + L個のωとK、L個の整数。それらは両方とも複素数内でZモジュールを形成し、両方ともそれぞれp = 2または3のp番目のサイクロトミック整数です。なお、3 + 2 I …

30
消える要素
文字列Sとインデックスのリストを指定すると、その結果をの新しい値として使用しながら、の各インデックスの要素を削除してX変更SしSますS。 例えば、与えられたS = 'codegolf'とX = [1, 4, 4, 0, 2]、 0 1 2 3 4 5 6 7 | c o d e g o l f | Remove 1 c d e g o l f | Remove 4 c d e g l f | Remove 4 c …
17 code-golf  string  array-manipulation  code-golf  string  ascii-art  code-golf  number  sequence  pi  code-golf  number  array-manipulation  code-golf  string  ascii-art  code-golf  math  number  game  code-golf  math  sequence  polynomials  recursion  code-golf  math  number  sequence  number-theory  code-golf  permutations  balanced-string  code-golf  string  ascii-art  integer  code-golf  decision-problem  hexagonal-grid  code-golf  ascii-art  kolmogorov-complexity  code-golf  number  code-golf  matrix  binary-matrix  code-golf  math  statistics  code-golf  string  polyglot  code-golf  random  lost  code-golf  date  path-finding  code-golf  string  code-golf  math  number  arithmetic  number-theory  code-golf  tetris  binary-matrix  code-golf  array-manipulation  sorting  code-golf  number  code-golf  array-manipulation  rubiks-cube  cubically  code-golf  grid  optimization  code-golf  math  function  code-golf  string  quine  code-golf  ascii-art  grid  code-golf  decision-problem  grid  simulation  code-golf  math  sequence  code-golf  path-finding  code-golf  ascii-art  grid  simulation  code-golf  number  whitespace  code-golf  sequence  code-golf  sequence  code-golf  sequence  integer  code-golf  math  game  code-golf  internet  stack-exchange-api  code-golf  sequence  code-golf  internet  stack-exchange-api  code-golf  math  factoring  code-challenge  sequence  polyglot  rosetta-stone  code-golf  string  browser  code-golf  date  code-golf  base-conversion  code-challenge  cops-and-robbers  hello-world  code-golf  cops-and-robbers  hello-world 

10
魔法の六角形
魔方陣はたくさんありますが、ジェームズ・グライム博士が説明したように、次のような、重要な六角形が1つだけあります。 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 Hexagonyで行われているように、これは1行ずつ読み取るだけで簡単に1行で記述できます。 18 17 3 11 1 7 19 9 6 5 2 16 14 8 4 12 15 13 10 もちろん、回転と反射をカウントする場合、この魔法の六角形の合計12のそのようなリスト表現があります。たとえば、上記の六角形を時計回りに1/6回転させると、 9 11 18 14 6 1 17 15 8 …

9
非対称KOTH:Catch the Cat(キャッチャースレッド)
非対称KOTH:猫を捕まえる UPDATE: Controller.javaが例外(エラーのみ)をキャッチしなかったため、gistファイルが更新されます(新しいサブミッションを含む)。現在、エラーと例外をキャッチし、それらも出力します。 このチャレンジは2つのスレッドで構成されています。これはキャッチャースレッドです。catスレッドはここにあります。 コントローラーはここからダウンロードできます。 これは非対称のKOTHです。各サブミッションは猫またはキャッチャーです。それぞれの猫とキャッチャーの各ペアの間にゲームがあります。猫とキャッチャーは別々のランキングを持っています。 キャッチャー 六角形のグリッドに猫がいます。あなたの仕事は、できるだけ早くそれをキャッチすることです。猫がそこに行くのを防ぐために、毎ターン、1つのグリッドセルに水バケツを置くことができます。しかし、猫は(おそらく)愚かではなく、バケツを置くたびに、猫は別のグリッドセルに移動します。グリッドは六角形であるため、猫は6つの異なる方向に進むことができます。あなたの目標は、猫を水バケツで囲むことです。 ネコ あなたは、キャッチャーがあなたの周りに水バケツを置くことによってあなたを捕まえたいことを知っています。もちろん、あなたは逃げようとしますが、あなたが怠catな猫であるように(猫はそうです)、あなたはまさにその時一歩を踏み出します。つまり、同じ場所に滞在することはできませんが、周囲の6つのスポットのいずれかに移動する必要があります。キャッチャーが新しいバケツを置いたのを見るたびに、別のセルに行きます。もちろん、できるだけ長く回避しようとします。 グリッド グリッドは六角形ですが、六角形のデータ構造がないため、11 x 11正方形の2D配列を取り、猫が6方向にしか移動できない六角形の「動作」を模倣します。 トポロジはトロイダルです。つまり、アレイの「外側」のセルを踏むと、アレイの反対側の対応するセルに転送されます。 ゲーム 猫はグリッドの指定された位置から始まります。キャッチャーは最初の動きをすることができ、猫とキャッチャーは猫が捕まるまで交互に動きます。ステップ数は、そのゲームのスコアです。猫は可能な限り大きなスコアを取得しようとし、キャッチャーは可能な限り低いスコアを取得しようとします。参加したすべてのゲームの平均合計が提出のスコアになります。猫用とキャッチャー用の2つの別々のランキングがあります。 コントローラ 指定されたコントローラーはJavaで作成されています。キャッチャーまたは猫として、それぞれJavaクラスを実装し(既にいくつかの基本的な例があります)、playersパッケージに配置する必要があります(コントローラークラスの猫/キャッチャーのリストを更新します)。そのクラス内の追加機能。コントローラーには、単純なcats / catcherクラスの2つの実例がそれぞれ付属しています。 フィールドは、セルの現在の状態の値を格納する11 x 112D int配列です。セルが空の場合は値0があり、猫がいる場合は値-1があり、バケットがある場合はがあり1ます。 あなたが使用できるいくつかの特定の機能がありますisValidMove()/ isValidPosition()あなたの移動(猫)/位置(キャッチャー)が有効であるかどうかをチェックするためのものです。 自分の番になるたびに、関数takeTurn()が呼び出されます。引数は次のような方法がある現在のグリッドのコピーが含まread(i,j)でセルを読み出すために(i,j)、だけでなく、isValidMove()/ isValidPosition()あなたの答えの妥当性をそのチェックを。これは、トロイダルトポロジのラッピングも管理します。つまり、グリッドが11 x 11のみの場合でも、セル(-5,13)にアクセスできます。 このメソッドはint、可能な動きを表す2つの要素の配列を返す必要があります。猫の場合、これらは{-1,1},{0,1},{-1,0},{1,0},{0,-1},{1,-1}猫が行きたい場所の相対的な位置を表し、キャッチャーはバケツを置きたい場所の絶対座標を返します{i,j}。 メソッドが無効な移動を生成する場合、提出は失格となります。移動先がすでにバケットであるか、移動が許可されていない/移動先が既に占有されている場合(猫として)、またはバケット/猫が既に存在する場合(キャッチャーとして)、移動は無効と見なされます。あなたは、与えられた関数で事前にそれをチェックすることができます。 あなたの提出は合理的に速く動作するはずです。メソッドが各ステップで200ミリ秒以上かかる場合、失格となります。(できればもっと少ない...) プログラムは、ステップ間で情報を保存できます。 提出 必要な数だけ提出できます。 既に提出した提出物を大幅に変更しないでください。 新しい回答の各提出をお願いします。 各提出には、できれば一意の名前を付ける必要があります。 提出物は、クラスのコードと、提出物がどのように機能するかを示す説明で構成される必要があります。 <!-- language: lang-java -->自動構文強調表示を得るために、ソースコードの前に行を書くことができます。 得点 すべての猫はすべてのキャッチャーと同じ回数だけ競争します。現在のスコアを頻繁に更新するようにします。アクティビティが減少したときに勝者が決定されます。 この挑戦はこの古いフラッシュゲームに触発されています テストと建設的なフィードバックを提供してくれた@PhiNotPiに感謝します。 現在のスコア(ペアリングごとに100ゲーム) …

6
騎士の動きに取り組む
六角形のチェスは、セルが従来の正方形ではなく六角形であるボードでプレイされるチェスのバリエーションのファミリーを表します。そのようなバリアントは多数あります。この課題では、最も一般的なGlińskiのバリアントに焦点を当てます。 ボードは3色で構成され(同じ色が端を共有しないように)、六角形の端がプレイヤーに面しています。ボードは、文字でマークされた11個のファイルが、持っていaてl(文字がj(ファイルで60°を曲げ使用されていない)、および11のランクf)。ランク1を介して6各11個の細胞を含む、ランクが79つのセルを有し、ランクは87を有している、というように。ランク11には1つのセルf11のみが含まれます。(それが役立つ場合は、各ランクを非常に幅の広い「V」字型にすると考えてください。) これは、中央のセルに騎士がいるボードの例です。ドットでマークされたセルは、この特定のナイトの合法的な動きです。騎士は「通常の」チェスと同様の方法で2ダウン1オーバーで動きます。六角形のチェスの用語では、それは(エッジを横切る)直交方向の動きであり、次に同じ方向(同じ色に最も近い動き)の斜め方向の動きです。例えば、ナイトが下にある場合、ライトブラウンまでの「上」への直交移動は、最も近いライトブラウンへの「上」と「上」または「左」の斜めの動きを伴います。 https://commons.wikimedia.org/wiki/File:Glinski_Chess_Knight.svgを介してパブリックドメインから この騎士はf6に位置しているため、法的な動きは c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5 入力 ナイトの開始セルを提供する単一の入力。これは、1つの文字列としてすることができ"b6"2つの文字列として、"b", "6"など、任意の便利な形式で。入力文字は大文字でも小文字でも構いません。 出力 その場所の騎士が行うことができる有効な動きのリスト。これは、文字列の配列、明確で一貫した区切り文字を持つ単一の文字列、改行で区切られた文字列など、最も便利なものであれば何でもかまいません。出力は必ずしもソート順である必要はなく、大文字または小文字のいずれでもかまいません(任意)。 ルール ボード上に他のピースが存在しないか、動きに干渉しないと仮定します。私たちは騎士だけに焦点を合わせています。 完全なプログラムまたは機能のいずれかが受け入れられます。関数の場合、出力する代わりに出力を返すことができます。 可能であれば、他の人がコードを試すことができるように、オンラインテスト環境へのリンクを含めてください! 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。 例 b6 a3, c4, d5, d9, e7, e8 f6 c4, c5, d3, d7, e3, e8, g3, g8, h3, h7, i4, i5 f11 …

2
Kingdom Builderのゲームを獲得する
ここで新しい形のコードゴルフを試したいです。ボーナスと同様に、チャレンジのすべての部分を完了する必要はありませんが、各回答には特定のサイズのサブセットを実装する必要があります(すべての回答に実装する必要があるコアがあります)。したがって、ゴルフに加えて、この課題には、うまく機能する一連の機能を選択することも含まれます。 ルール キングダムビルダーはボードゲームで、(先が尖った)ヘックスグリッドでプレイされます。ボードは4つの(ランダム化された)クアドラントで構成され、各クアドラントには10​​x10の16進数セルがあります(したがって、ボード全体は20x20になります)。この課題のために、各ヘックスセルには水(W)、山(M)、町(T)、城(C)、または空(.)が含まれています。したがって、象限は次のようになります . . W . . . . . . . . M W W . . . . . . . M . . W . . . T . M M . W . . . . . . . . M . W W . …

1
カタンの開拓者-最長の道!
これは、カタンの開拓者の終盤ボードです。 バックグラウンド: 道路(長い棒の部分)と集落(および都市)は、小さな小屋によってレンダリングされます。次のスキームを使用して、これらのピースの配置をエンコードします。上から、道路を配置できる行の水平頂点とエッジがあります。次に、道路のみの列などがあります。赤にR、オレンジにO、青にBを使用し、_を使用しない場合、写真のボードは次のようにエンコードされます。 ________RR_R_ __R_ __RR_R_RRR_____R_ B___R _B_________B__OO_OOR_ B__B_R BB_BBB_____B____RR_R_ OBB_O OO__BB_BB__OOO_OO O_O_ _O_OOO_O_____ このようなボードが入力文字列になります。どんな手紙でも[A-Z]もプレーヤーの色を示すことができますが、最大4色(空を含む)があります。それ以外の場合、ボードは入植者の規則に従って有効であることが保証されます。 各色には、最大で2つの連続した道路網があり、他のプレイヤーの居住地/都市(頂点の建物)によって分割される場合と分割されない場合があります。サンプル画像の右側のオレンジ色の集落が赤い道路をバラバラにしているのを見てください。 各道路網には、少なくとも1つの集落があることが保証されています。 すべての集落と都市は、少なくとも 、最も近い他の集落/都市(あなたのものまたはそうでないもの)から 2つの端 1人のプレイヤーは、ゲームボード上に15の道路しか持てません。 カタン愛好家の場合:この問題の目的のために集落と都市の区別はないため、入力文字列では区別しません。 これはすべて、「入力」文字列を指定するためのものです。 最長の道: 入植者では、プレイヤーは「最長の道」を持つことで2つの勝利ポイントを獲得します。これは次のように定義されます:開始地点から終了地点までの最長の連続した単一の経路(道路で測定)。敵の集落または都市によって分割されない。特定の開始点から特定の終了点までのパスをトレースできる限り、サイクルは問題ありません。したがって、6本の道路と分岐する1本の道路のループは長さ7ですが、反対側の6本の道路ループから分岐する2本のループはまだ7の価値しかありません。 例のマップでは、右側の赤い道路は4の価値しかありません。ボードの右側のオレンジの集落によって彼が切り離されているためです(そのため、集落はまったく含まれません)。青には長さ13の道路があり、オレンジには長さ12の道路があります。赤の一番上の道路は、その隣の2つの単一道路に接続していないため、7の価値があります。 出力: 最長の道路(同点の場合は複数になる可能性があります)があり、その後に空白またはアンダースコアで区切られた道路があるすべてのプレイヤーは、その道路の長さのベース10でカウントされます。 したがって、サンプルボードの出力は次のようになります。 B 13 問題ステートメント: プログラムまたは関数を記述し、STDIN経由で、または関数への文字列引数として入力ボードを受け取ります。関数は、上記の出力を文字列として返すか、STDOUT(または最も近い代替)に出力します。オプションで、出力に単一の末尾の改行を含めることができます。 これはcode-golfで、最短のプログラムが勝ちます。もちろん、標準的な抜け穴は禁止されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.