タグ付けされた質問 「path-finding」

制約(障害物)の影響を受ける、最適な(たとえば最短の)パスを見つけることを含む、ジオメトリまたはグラフ理論の問題。

3
2D平面上の最長パス
任意の一意の2d整数デカルト座標のセットが提供されます。例:[(0,0)、(0,1)、(1,0)] この座標セットから可能な限り最長のパスを見つけます。ただし、座標を1回だけ「訪問」できるという制限があります。(そして、あなたが始めた座標に「戻る」ことはありません)。 重要: 座標またはその周囲を「通過」することはできません。たとえば、最後の音符の例(長方形)では、Cにアクセスせずに DからAに移動することはできません(これは再訪であり、見つかった長さを無効にします)。これは@FryAmTheEggmanによって指摘されました。 関数入力: 2次元デカルト座標の配列 関数出力:最大長のみ 勝者: 最短のコードが勝ち、ホールドが禁止されません(最も時空効率が悪い) 例 1:この例では、2回「訪問」された座標がない最長パスはA-> B-> O(またはOBA、またはBAO)であり、パスの長さはsqrt(2)+ 1 = 2.414です。 2:上記のこのケースでは、座標が2回「訪問」されていない最長パスはABOC(および明らかにCOBA、OCABなど)であり、示されている単位正方形の場合、sqrt(2)+ sqrt(2)+ 1 = 3.828。 注:これは、前の2つの例ほど簡単ではない追加のテストケースです。これは、6つの座標から形成される長方形です。 ここで、最長パスはA-> E-> C-> O-> D-> Bです。これは8.7147です。 (可能な最大の対角線が通過し、エッジが通過しなかった)

1
コードゴルフ:宇宙船の運命は?[アスキーアート版]
バックグラウンド 遠くの銀河(そして恐らくは宇宙)には、宇宙船とたくさんの惑星がありました。船内の故障により、宇宙船の燃料が不足しました。現在、惑星群の近くで危険なほど遅い速度で動いており、そこから脱出しなければなりません!乗組員の運命はどうなりますか? チャレンジ あなたはUSS StackExchangeのリードプログラマーです。そのため、あなたは、あなたが惑星に土地を衝突させる運命にあるかどうかを明らかにし、惑星系から逃れるか、永遠に軌道にとどまるシミュレータを書くことを望みます。 ただし、宇宙船の爆発は、計算リソースが非常に限られていたことを意味します。プログラムはできるだけ小さくする必要があります。また、これは、実行するシミュレーションを入力する唯一の可能な方法がASCIIアートを使用することであることを意味します。 シミュレーション この多元宇宙の象限では、ASCIIアートに対応するために物理法則がわずかに変更されています。これは、コスモスが細胞に分割されることを意味します。移動はセル単位で記述され、時間は時間ステップ単位で記述されます。 船自体に勢いがあります。船が前のタイムステップでx軸に+2セル、y軸に-1セル((2、-1)と略す)を移動し、重力場がない場合、船は正確に移動します次のタイムステップで同じ速度。 いくつかの惑星があり、そのすべてがそのすぐ周囲の8つのセルに重力場を及ぼし、それが船の速度に影響を与え、船を惑星に近づけます。惑星の「北」になると、フィールドは(-1,0)の力で船を1つのセルから「南」に引き寄せます。ちょうど惑星の「北東」であると、船は1セルを「南」に、1ユニットは「-1、-1」の力で「西」に引っ張られます。 重力場は、重力でセルを離れるときに、船の運動量にベクトルを追加します。船が直前に(2、-1)セルを移動し、現在(-1,1)の重力場にいる場合、この次のタイムステップで(1,0)セルを移動します。船が複数の惑星に近接している場合、追加するベクトルが複数あります。 入力 STDINでは、惑星の座標と船の現在の速度を表示する惑星システムのASCIIアート表現を受け取ります。@記号の形で複数の惑星があり、av ^ <>記号の形で1つの宇宙船があります。船のシンボルの選択は、船の現在の速度を示します(重力が追加される前)。たとえば、<は西への1セルの速度を意味し、^は北への1セルの速度を意味します。すべての空のスペースはピリオドで構成され、すべての行が同じ幅になるようにパディングされます。空白行は入力の終わりを表します。入力の例を次に示します。 ................. ...@.@........v.. ......@..@..@@... ..@.............. .......@..@...... ................. 出力 出力はSTDOUTの1つの単語になり、船が重力から逃れるか、土地を惑星に衝突させるか、永久に周回するかがわかります。 重力からの脱出は、船がマップから移動することとして定義されます。船が脱出する場合、プログラムは「エスケープ」という単語を出力する必要があります。 クラッシュランディングとは、船が惑星を直接通過するか、タイムステップ中に同じセルに到達することです。タイムステップごとに船の位置を単純に計算するだけでは不十分であることに注意してください。(5,5)の速度で移動している船は、(1,1)にある惑星に衝突しますが、単純な計算では、そのセルを訪れることはありません。ただし、速度が(5,6)の船は、陸地を惑星に衝突させません。宇宙船がcrash落した場合、プログラムは「クラッシュ」という単語を出力する必要があります。 周回は検出が最も難しい場合があります。宇宙船が同じセルを2回、同じ速度で訪れるたびに、周回が行われます。船が周回する場合、「orbit」という単語を印刷する必要があります。 上記の例の出力は次のとおりです。 escape 説明 上記の例の各タイムステップで宇宙船が移動した場所を示すマップを次に示します。 ^ ................. ...@.@........v.. ....^.@..@..@@... ..@..<.<<<.<.v... .......@..@...... ................. それは南に行き、西に向き、廊下を下り、北に向き、そし​​て重力のせいで、高速で惑星の間を狭く逃げました。 検査のためのより多くのケース ... ^@. ... orbit ........... .>@.@...... .@......@.. ....@...... crash (it crashes …

5
テキスト迷路ソルバー
stdinの迷路とエントリポイントが与えられたら、stdoutの出口へのパスを出力するプログラムを作成します。プログラムが迷路ごとに(迷路内のすべてのポイントを通過する)簡単なパスを生成しない限り、どのパスでも構いません。 入力では、壁は#で、エントリポイントはでマークされ@ます。出力で迷路とパスを描画するために、それらがすべて明確である限り、任意の文字を使用できます。 あなたはそれを仮定するかもしれません: 入口点と出口点は入力の端にあります 入力のすべての行は同じ長さです 迷路は解決可能であり、サイクルはありません 出口は1つのみ (Unicode)文字数による最短の解決策が優先されます。 例 (入力にはスペースが埋め込まれることに注意してください) #### # # @ ##### # # # ####### #### # # @*##### #* # #****** ####### ### ################### ### # # ## ######### # # # ##### # ############### #@## ###*################### ###*********#*********# ## *#########* # *# # *********** #####**# …

5
司教に強いパスワード
パスワードビショップの良さと混同しないでください! 文字列が与えられ、それが司教に強いパスワードを構成している場合は答えます(真/偽または2つの一貫した値)。 パスワードは、文字の各ペアがチェスボード上の正方形として解釈できるように、文字(in )と数字(in )が交互になった文字列であり、名前の付いた各正方形に白いポーンを配置すると、司教に対して強力ですパスワードでは、最初の()行の任意の正方形から最後の()行の任意の正方形まで、白人の司教が連続して何回も移動する方法はありません。a-h1-818 例 司教に強いパスワード a1b1c1d1e1f1g1h1 a8b8c8d8e8f8g8h8 a1b2c3d4d5f5f4g3g4h2b5 h4g4f4e4c4b4a4c3e3 a1b1c1d1e1f1g1a8b8c8d8e8f8g8 b4b5d4d5f4f5g3h5 たとえばa1b1c1d1e1f1g1a8b8c8d8e8f8g8、位置にb4b5d4d5f4f5g3h5対応し、位置に対応します 司教に弱いパスワード a4c4e4g4g5d6f6e3d2b2 (整形式だが強くはない-この例についてはジョー・キングに感謝!) b1c1d1e1f1g1h1a8b8c8d8e8f8g8 (整形式だが強くない) h4g4f4e4c4b4a4c3 (整形式だが強くない) d4 (整形式だが強くない) b4b5d4d5f4f5g2h5 (整形式だが強くない) correct horse battery staple (不正な形式) 1a1b1c1d1e1f1g8a8b8c8d8e8f8g (不正な形式) a (不正な形式) aa (不正な形式)

5
正しい道を見つける
パスのリストを指定して、正しいパスを出力します。 パスの例: /\ ----+/ | -および|は水平および垂直パスです。 /そして\、90°ターンしています。 +現在の方向に応じてa -またはa として扱われ|ます。 パスは任意の方向に進むことができ、キャラクターは複数のパスで使用できます。 入力は次のようになります。 /--\ A------+--+--# B------/ \--: C------------# D------------# A、B、CとDしているパスが開始 # 壁です(パスが悪い) : 終わりです(パスは正しいです) したがって、出力はになりますB。 あなたは仮定することができます: :そして#、常に左から到達することになります。 パスの開始点の右側の文字は常にになります-。 パスは常に適切に形成されます。 # そして :いつも同じ列になります。 常に1つと:4つのパスのみが存在します。 テストケース A------# B------# C------# D------: => D A-\ /---: B-+-/ /-# C-+---+-# D-+---/ \-----# => B /-\ A-+\\---# …

11
緩い範囲の解釈
緩い範囲の解釈 ListSharpは、多くの機能を備えたインタープリター型プログラミング言語です。これらの機能の1つは、次のように機能する1つのインデックスベースの範囲作成者です。 あなたはと範囲を定義する(INT) TO (INT)か、単に(INT)どこの両方または単一のintは分からに行くことができる最大のint32値 次に、これらの範囲を使用して、境界を超えることを恐れずに配列の要素を抽出できます したがって: 1 TO 5 生成: {1,2,3,4,5} 3 生成: {3} AND演算子を使用して範囲を追加できます 1 TO 5 AND 3 TO 6 生成: {1,2,3,4,5,3,4,5,6} これは負の数でも機能することを忘れないでください 3 TO -3 生成: {3,2,1,0,-1,-2,-3} 課題は次のとおりです。 入力 文字配列および文字列として以前に定義された範囲句 出力 1インデックスの要素は範囲の位置に基づいています(非既存/負のインデックスは空の文字に変換されます) 勝つ方法 コードゴルフの挑戦として、あなたは勝つために最短のバイト数でプログラムを作成することになっています 空の文字は存在しないことが指摘されているため、無視する必要があります(ここでは、わかりやすくするためだけに示しましたが、混乱させています) テストケース: input array is: {'H','e','l','l','o',' ','W','o','r','l','d'} range clause: "1 TO 3" …
13 code-golf  array-manipulation  parsing  code-golf  string  ascii-art  kolmogorov-complexity  code-challenge  code-golf  sequence  code-golf  number  array-manipulation  sorting  code-golf  string  function  code-golf  arithmetic  code-golf  math  sequence  number-theory  primes  restricted-source  javascript  code-challenge  polyglot  rosetta-stone  code-golf  code-golf  regular-expression  code-golf  math  code-golf  math  primes  code-golf  ascii-art  kolmogorov-complexity  binary  code-golf  math  sequence  code-golf  sequence  subsequence  code-golf  string  code-golf  parsing  music  code-golf  grid  game  path-finding  board-game  code-golf  string  binary  code-golf  array-manipulation  balanced-string  code-golf  code-golf  algorithm  code-golf  string  number  arithmetic  array-manipulation  code-golf  array-manipulation  binary-tree  tree-traversal  code-golf  code-golf  tips  code-golf  string  base-conversion  code-golf  tips  s.i.l.o.s  code-golf  string  ascii-art  code-golf  code-challenge  code-golf  game 

8
マリオはこのマップの最後に行くことができますか
パスの入力が与えられたときに、マリオがで示されるE開始点からで示される終了点に到達できるかどうかを判断するプログラムを作成しますS。 パスは次のようになります。 S = E ===== パスでは、さまざまなシンボルとそれらが表すものは次のとおりです。 =:壁/床/天井。マリオは壁を歩くことができず、床を越えたり、天井を飛び越えたりすることはできません(頭にぶつかるでしょう) (スペース):空気。マリオはこれを歩いて、ジャンプして、落ちていくことができます S:空気、マリオが始まる場所を示すことを除く。これは、常に入力の左端の列のグランドレベルに表示されます。 E:マリオが行きたい場所を示す以外の空気。これは、常に入力の右端の列のグランドレベルに表示されます。 入力には、マリオが歩くことができるすべての場所にスペースがあります。 マリオは前進しかできない。この例では、マリオは目標を達成できません S === === E ==== また彼はこれで E == == #== == == == S == ====== ただし、#最大4セルまでジャンプできるため、(入力には表示されない)で示されるスペースに到達できます。マリオは超人的です。彼の超人間性の別の例として: S = = = = = = # = = = = = = E ======= マリオはE、遠くに落ちて生き残り、静かに歩いて行くことができますE。#マリオはまっすぐに倒れるので、彼はに到達できないことに注意してください。 マリオがジャンプすることができ、実際に比較することによって非常に遠く前方に高いではなく。 S E …

13
フィボナッチ製品
正のフィボナッチ数の一意の合計として、0より大きい数を分解できます。この質問では、可能な最大の正のフィボナッチ数を繰り返し減算することでこれを行います。例えば: 1 = 1 2 = 2 3 = 3 4 = 3 + 1 12 = 8 + 3 + 1 13 = 13 100 = 89 + 8 + 3 ここで、フィボナッチ積を上記と同じリストと呼びますが、加算は乗算に置き換えられます。たとえば、f(100) = 89 * 8 * 3 = 2136。 正の整数nを指定して、その数のフィボナッチ積を返すプログラムまたは関数を作成します。 テストケース: 1: 1 2: 2 3: 3 4: …
13 code-golf  math  sequence  fibonacci  code-golf  word  code-golf  cipher  code-golf  string  math  subsequence  code-golf  regular-expression  code-golf  brainfuck  assembly  machine-code  x86-family  code-golf  math  factorial  code-golf  math  geometry  code-golf  math  arithmetic  array-manipulation  math  number  optimization  stack  metagolf  code-golf  tips  assembly  code-golf  tips  lisp  code-golf  number-theory  path-finding  code-golf  number  sequence  generation  code-golf  math  geometry  code-golf  grid  permutations  code-golf  code-golf  graphical-output  geometry  fractal  knot-theory  code-golf  math  arithmetic  code-golf  interpreter  balanced-string  stack  brain-flak  code-golf  math  set-theory  code-golf  math  array-manipulation  code-golf  code-golf  string  natural-language  code-golf  code-golf  math  linear-algebra  matrix  code-golf  string  encode 

5
女王の螺旋を歩く
遠く離れた王国では、チェスの女王は1からまでの番号が付けられたらせん状の小道を毎日歩いておりn、スパイラル自体に追従するのではなく、単にチェス盤でするように女王の動きをします。女王は彼女の被験者に愛され、彼らは彼女が彼女の道を訪問するすべての広場を書き留めます。女王が任意の正方形で散歩を開始し、任意の正方形でそれを終了できるとすると、女王が歩くことができる最短の女王の散歩は何ですか? チャレンジ 長方形のグリッドに整数のスパイラルが与えられた場合、チェスのクイーンの動きを使用して、このスパイラルグリッド上の2つの数値間の最短経路(移動したセルの数で数えられる)の1つを返す関数を記述します。 たとえば、from 16から25: 25 10 11 12 13 24 9 2 3 14 23 8 1 4 15 22 7 6 5 16 21 20 19 18 17 可能なパスには、16, 4, 2, 10, 25およびが含まれ16, 5, 1, 9, 25ます。 ルール 入力は任意の2つの正の整数になります。 出力は、直交移動と斜め移動のみを使用して、らせんを横切る整数のパス(両方の端点を含む)になります。 パスの長さは、移動したセルの数によってカウントされます。 あなたの答えはプログラムか関数かもしれません。 これはコードゴルフなので、最小バイト数が優先されます。 いつものように、問題が不明な場合はお知らせください。幸運と良いゴルフを! テストケース >>> queen_spiral(4, 5) …

6
私をここから連れ出してください
チャレンジ グリッドサイズ、障害物の位置、プレイヤーの位置、ターゲットの位置を考えると、プレイヤーがターゲットに到達し、同時に障害物を回避するためのパスを見つけることが必要です。 入力 N:グリッドサイズN x N P:プレイヤーの位置[playerposx, playerposy] T:ターゲットの位置[targetposx, targetposy] O:障害物の位置[[x1, y1], [x2, y2],...,[xn, yn]] 出力 パス:パスプレーヤーはターゲットに到達するために使用できます[[x1, y1], [x2, y2],...,[xn, yn]] ルール ポイント[0,0]はグリッドの左上隅にあります。 プレイヤーの位置は常にグリッドの左側になります。 ターゲットの位置は常にグリッドの右側になります。 グリッドには常に少なくとも1つの障害があります。 プレーヤーまたはターゲットの位置に障害物が重なっていないと想定できます。 必ずしも最小パスを見つける必要はありません。 プレイヤーは、左、右、上、下のみを斜めに移動することはできません。 任意の便利な方法で入力を取得できます。 プレイヤーがターゲットに到達するためのパスは常に存在すると仮定できます。 明らかに、入力ごとに複数の有効なパスが存在するため、1つを選択します。 N > 2グリッドが少なくともであると仮定し3 x 3ます。 例 入力:9、[6, 0]、[3, 8]、[[0, 5], [2, 2], [6, 4], [8, 2], [8, 7]] …

2
Kippleを解釈してください!
前書き Kippleは、2003年3月にRune Bergによって発明されたスタックベースの難解なプログラミング言語です。 Kippleには、27のスタック、4つの演算子、および制御構造があります。 スタック スタックは命名されているa- zと32ビット符号付き整数を含んでいます。また@、数値の出力をより便利にするための特別なスタックがあります。数字がにプッシュされる@と、その数字の数字のASCII値が実際にプッシュされます。(たとえば、12を@に押した場合、49を押し、次に50を押し@ます。) iプログラムが実行される前に、入力が入力スタックにプッシュされます。インタープリターは、i実行前に保存する値を要求します。実行が終了すると、出力スタック上のすべてoがポップされ、ASCII文字として出力されます。これはKippleの唯一のIOメカニズムであるため、Kippleプログラムとの対話は不可能です。 オペレーター オペランドは、スタック識別子または符号付き32ビット整数のいずれかです。 プッシュ:>または< 構文:Operand>StackIndentifierまたはStackIndentifier<Operand Push演算子は、オペランドを左に取り、指定されたスタックにプッシュします。たとえば12>a、値12をstackにプッシュしますa。a>bstackから一番上の値をポップし、stack aにプッシュしますb。空のスタックをポップすると常に0 a<bが返されb>aます。これはと同等です。a<b>c最上位から値ポップbの両方にとプッシュをcしてa。 追加: + 構文: StackIndentifier+Operand 追加演算子は、スタックの一番上の項目とオペランドの合計をスタックにプッシュします。オペランドがスタックの場合、値はそこからポップされます。たとえば、スタックの最上位の値aが1の場合、a+23をプッシュします。aが空の場合、a+22をプッシュします。スタックの一番上の値場合aとbがある1と2は、a+bスタックから値2をポップアップ表示されますbし、スタックに3を押しますa。 減算: - 構文: StackIndentifier-Operand Subtract演算子は、Add演算子とまったく同じように機能しますが、加算ではなく減算する点が異なります。 晴れ: ? 構文: StackIndentifier? Clear演算子は、最上位のアイテムが0の場合、スタックを空にします。 インタープリターは演算子の隣にないものをすべて無視するため、次のプログラムが機能しますa+2 this will be ignored c<i。ただし、コメントを追加する適切な方法は、#文字を使用することです。a #と行末文字の間のすべてのものは、実行前に削除されます。ASCII文字#10は、Kippleの行末として定義されています。 オペランドは2つの演算子で共有a>b c>b c?できますa>b<c?。たとえば、と書くことができます。 プログラム1>a<2 a+aはa、値を[1 4](下から上へ)含むようになり、ではありません[1 3]。-オペレーターも同様です。 制御構造 Kippleには、ループという制御構造が1つしかありません。 構文: (StackIndentifier code ) …
12 code-golf  interpreter  code-golf  string  code-golf  math  string  code-golf  ascii-art  path-finding  code-golf  string  ascii-art  code-golf  interpreter  binary  logic-gates  logic  code-golf  ascii-art  code-golf  graph-theory  code-golf  string  code-golf  number  sorting  code-golf  number-theory  random  cryptography  polynomials  code-golf  number  code-golf  math  number  sequence  code-golf  quine  code-generation  code-golf  arithmetic  set-theory  code-golf  sequence  code-golf  code-golf  string  math  fastest-code  optimization  code-golf  code-golf  internet  stack-exchange-api  code-golf  array-manipulation  code-golf  string  internet  string  code-challenge  internet  test-battery  code-golf  math  pi  code-golf  arithmetic  primes  code-golf  array-manipulation  code-golf  string  code-golf  string  palindrome  code-golf  sequence  number-theory  fastest-algorithm  code-golf  math  number  base-conversion  code-golf  number-theory  sorting  subsequence  search  code-golf  permutations  code-challenge  popularity-contest  code-generation 

1
フロッガーソルバーを作成する
🐸🐸 9x9グリッドで単純化されたフロッガーゲームの最適なソリューションを常に見つけるには、最短のプログラムを作成する必要があります。 コース要素: L-ログ(長さ:3-4)。ログに飛び乗ると、ログが表示されます。 V -車両(長さ:1-2) 速度(1-2):列の左側には、列の要素が移動する速度が表示されます。 スペース:要素間には常に少なくとも2つのスペースがあります。 方向:車両セクションとログセクションの両方で、各レーンの移動方向が左右に交互に変わります。 コース構成: 資本であれば、それは正しく行きます。小文字の場合、左に移動します。行のすべての要素は同じ方向に進みます。要素の一部が画面から消えるとすぐに、画面の反対側に表示されます。 最初の行はセーフゾーンです。カエルはで始まり、F常に同じ場所です。 次の3行は、車両のある道路です。 次の行はセーフゾーンです。 次の3行は、ログを含む水(水に触れる==死)です。 Wレーンに到達すると、勝ちます。 カエルが死ぬと F プレーヤーコントロール: L -左 R - 正しい U -アップ D -ダウン W - 待つ 移動すると、別のフレームが通過します。(フレームは、移動と同時にではなく、移動後に通過することに注意してください。)プログラムは、などの一連の文字として最適なソリューションを提供する必要がありますURWUUL。コースに解決策がない場合、プログラムはを出力する必要がありますN。 例:(これらを手作業で行ったため、それらが最適なソリューションであるかどうかはわかりません。) 0WWWWWWWWW 1 lll 2 LLLL 2 llll 0 1 vv vv 1 V V 1 vv 0 …

2
マイニングロボットを構築する
あなたのプログラムは、貴重な鉱物を地下で検索する採掘ロボットを制御します。ロボットは、移動して掘りたい場所をコントローラーに伝え、コントローラーはロボットの状態に関するフィードバックを提供します。 最初に、いくつかの採掘シャフトがすでに存在する鉱山のイメージマップと、鉱山内の鉱物の値と硬度を指定するデータファイルがロボットに提供されます。次に、ロボットがシャフトを移動して、採掘する貴重な鉱物を探します。ロボットは地球を掘ることができますが、ハードロックによって速度が低下します。 24時間のシフトの後、最も価値のある貨物で戻ってくるロボットが勝者になります。複雑な課題のように思えるかもしれませんが、基本的なマイニングロボットを作成するのは簡単です(以下のサンプルマイニングロボットの回答を参照)。 操作 プログラムは、鉱山の画像、鉱物のデータ、および機器のファイル名を使用して、コントローラーによって開始されます。ロボットは、鉱山の画像と鉱物のデータを使用して貴重な鉱石を見つけ、硬い岩を避けます。ロボットは、機器リストから機器を購入することもできます。 例えば: python driller.py mineimage.png minerals.txt equipmentlist.txt 2秒間の初期化期間の後、コントローラーはstdinおよびstdoutを介してロボットプログラムと通信します。ロボットは、ステータスメッセージを受信して​​から0.1秒以内にアクションで応答する必要があります。 コントローラーは毎ターン、ロボットにステータスラインを送信します。 timeleft cargo battery cutter x y direction 例えば: 1087 4505 34.65 88.04 261 355 right 整数timeleftは、シフトが終了するまでのゲームの秒数です。これ cargoは、これまでに採掘した鉱物の整数値から、設備に支払った金額を差し引いたものです。batteryレベルは、あなたのバッテリ残量の整数割合です。cutter整数レベルが基準値のパーセンテージとしてカッターの現在の鮮鋭度です。xそしてy値が(0、0)に左上隅から参照ロボット位置との正の整数です。方向は、ロボットが向いている現在の方向(左、右、上、下)です。 ロボットが「エンドシフト」または「失敗」の入力を受け取ると、プログラムはすぐに終了します。ロボットがデバッグ/パフォーマンスデータを最初にファイルに書き込むようにすることができます。 コントローラが受け入れる4つの可能なコマンドがあります。direction left|right|up|downその方向にロボットを向け、15ゲーム秒を必要とします。move <integer>ロボットにその数のユニットを前方に移動または掘るように指示します。これは、切断される鉱物の硬度とカッターの鋭さに応じて時間がかかります(以下を参照)。buy <equipment>指定された機器を設置し、貨物の値からコストを差し引きますが、これはロボットが水面にある場合のみです(y値<=開始y値)。機器の設置には300ゲーム秒かかります。特別なコマンドsnapshotは、現在の地雷イメージをディスクに書き込み、ゲーム時間はかかりません。スナップショットを使用して、ロボットをデバッグしたり、アニメーションを作成したりできます。 ロボットは、100個のバッテリーと100個のカッターシャープネスで起動します。移動と旋回には、少量のバッテリー電力が使用されます。掘りははるかに多くを使用し、鉱物の硬度とカッターの現在の鋭さの関数です。ロボットが鉱物を掘ると、時間と鉱物の硬さに応じて、カッターの鋭さが失われます。ロボットが十分な貨物価値を持っている場合、新しいバッテリーまたはカッターを購入するために地表に戻ることがあります。高品質の機器の初期有効性は100%を超えることに注意してください。バッテリーの名前には「battery」という文字列があり、(サプライズ)カッターの名前には「cutter」があります。 次の関係は、移動と切断を定義します。 timecutting = sum(hardness of pixels cut) * 100 / cutter cutterwear = 0.01 …

1
グラフの最短経路
プログラムを作成して、グラフを(標準入力または選択したファイルから)取得し、グラフ内の最短パスを見つけます。 グラフは、次の形式を使用して指定されます。 A---S F--T | / \ | | / 5 0 |/ \| D----3--E A-Z: nodes in the graph -|/\: edges in the graph 0-9: weights on the edges <space>: all the holes すべてのエッジは無方向で、8つの基本方向のいずれかに沿って配置されます(つまり、曲がりません)。エッジには、オプションで0〜9の重みを含めることができます。重みは、エッジをノードに接続する最後のシンボルにはありません(つまり、エッジには、重みを含めるために少なくとも3つのシンボルが必要です)。重みなしエッジのデフォルトの重みは1です。 コードは、ノード間の最短経路を計算する必要がありSそしてT長さおよび経路を印刷し、このように: 5:SDEFT 最短の正しいプログラムが勝ちます。

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

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