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

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

2
その胚芽はどこに行きましたか?
前書き あなたは細菌の移動パターンを研究している生物学者です。あなたの研究チームはペトリ皿にそれらの束を持っており、あなたは彼らの活動を記録しています。残念ながら、あなたは深刻な資金不足で、ビデオカメラを買う余裕がないので、定期的に皿の写真を撮るだけです。あなたの仕事は、これらの写真から細菌の動きを追跡するプログラムを作成することです。 入力 入力は、適切な形式の2つの2Dキャラクター配列で、シャーレの連続写真を表します。両方の配列で、文字.は空のスペースをO表し、胚芽を表します(必要に応じて、任意の2つの異なる文字を選択できます)。また、 "after"配列は、 "before"配列から、いくつかの細菌を4つの基本方向の1つに1ステップ移動することによって取得されます。特に、配列の形状は同じです。細菌は同時に移動するため、邪魔にならない場合は、別の細菌が既に含まれているスペースに移動する可能性があります。"before"配列の境界には空のスペースのみが含まれ、少なくとも1つの胚芽があることが保証されています。したがって、次は有効な入力のペアです。 Before After ...... ...... .O..O. ....O. .OO.O. .OO.O. ...... ..O... 出力 出力は、入力と同じ形式の文字の単一の2D配列です。これは>^<v、移動の方向に応じて、移動した胚芽をのいずれかで置き換えることにより、「前の」配列から取得されます(ここでは4つの異なる文字を使用することもできます)。いくつかの出力が考えられますが、そのうちの1つだけを指定する必要があります。上記の例では、1つの可能な正しい出力は ...... .v..O. .>v.O. ...... 不必要な移動は出力で許可され、細菌は場所を入れ替えることができるため、以下も有効です。 ...... .v..v. .>v.^. ...... ルールとスコアリング 完全なプログラムまたは関数を作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 比較的効率的なアルゴリズムに興味がありますが、ブルートフォースを完全に禁止したくありません。このため、最新のCPUで10分以内に最後のテストケースを解くと、-75%のボーナスがあります(ほとんどのソリューションをテストすることはできませんので、ここで信頼します)。免責事項:高速なアルゴリズムが存在することは知っていますが(「ディスジョイントパスの問題」を検索してください)、自分で実装していません。 追加のテストケース Before ...... .O..O. ..OO.. ...... After ...... ..O... ...OO. ..O... Possible output ...... .>..v. ..vO.. ...... Before ....... .OOOOO. …

1
ホラー映画検索パーティー
プロット:ジミーがいない 私たちは彼を見つけなければなりません。分割する必要があります。 プロットのねじれ:ジミーはすでに死んでいます。 しかし、私たちのキャストはそれを知らないので、とにかくエリア全体を検索する必要があります。N列x M行(1 <= M、N <= 256)のセルグリッドがあり、開始点 "。"に対して "S"としてマークされています。オープンスペースの場合、または障害物の場合は「#」。これが地図です。 0 <= p <= 26 コスタル、0 <= q <= 26 エキストラ、1 つ星があります。最初は全員がSとマークされたセルにいます。 ルール 各人の視界半径は次のとおりです。 ... ..... ..@.. ..... ... 星は「@」で示され、共演者は「A」で始まる大文字で、余りは「a」で始まる小文字で示されます。最初に、開始点を囲む視界半径はすでに検索済みとしてマークされています。これがマップのオープンスペース全体を構成する場合、ゲームは終了します。次の順序で各ターン: 各人が同時にキングを動かします(静止するか、8つの隣接するセルのいずれかに移動します)。 各人の視界内のすべてのセルが検索対象としてカウントされます。 共演者が他の人を見ることができない場合、彼女は死にます。エキストラが共演者、スター、または少なくとも2つの他のエキストラを見ることができない場合、彼は死にます。これらは同時に起こります。つまり、1ターンでの死の連鎖反応はあり得ません。上記の条件がチェックされ、死にかけようとしている人は全員死にます。 マップ上のすべてのオープンスペースが検索された場合、検索は終了します。 ノート 複数の人がいつでも同じ広場にいることができ、これらの人はお互いを見ることができます。 障害物は視界を妨げることはなく、動きのみを妨げます。人々は、溶岩を越えてお互いを見ることができます...溶岩? マップ上のオープンスペースは、キングムーブによって接続されることが保証されています。 また、最初の「S」は障害物ではなく、オープンスペースと見なされます。 オープンスペースに着地するキングムーブは有効です。たとえば、次の動きは合法です: .... .... .@#. ---> ..#. .#.. .#@. .... .... …

1
画像迷路の生成
チャレンジ 「画像」を受け入れ、その画像から形成された画像迷路を出力するプログラム/関数を作成します。 入力 プログラムは2つの引数を受け入れる必要があります。 私、迷路を形成するイメージ S、迷路の解を表示するかどうかを指定するブール値 私は次の形式で与えられます: ....... .#####. .#####. ####### .#####. .#####. ....... ここ#で、はソリューションパスに含まれるセルで、.はセルが除外されるセルです。異なる場合は、.「」、#「」、および改行を任意の文字と交換できます。または、入力画像の実際のビットマップを受け入れることもできます。 出力 結果として生じる迷路は次の形式になります。 ############### # # # ### ####### # # #.........# # # #.#######.# # # #.#.......# # ###.#.######### ....#.#........ #####.#.####### # ...#..... # # #.#######.# # # #.........# # # ####### ### # # …

27
*の通訳を書く
タスクは簡単です。言語*のインタープリターを作成します。 wikiへのより大きなリンクがあります。 有効なプログラムは3つだけです: * 「Hello World」を印刷します * 0〜2,147,483,647の乱数を出力します *+* 永遠に実行します。 3番目のケースは、この質問の仕様に従った無限ループでなければなりません 入力: 入力は、標準のI / Oルールで受け入れ可能な任意の入力方法で取得できます。 上記のプログラムのいずれかになります 出力: 最初のケースではHello World、末尾の改行の有無にかかわらず、正確に印刷する必要があります。 2番目の場合、言語の整数の最大値が2,147,483,647より小さい場合は、言語の整数の最大値を使用します 最初と2番目のケースは、標準のI / Oルールで受け入れ可能な出力に出力できます。 3番目のケースでは、出力は行われません。 得点: これはcode-golfであるため、バイト単位の最短回答が勝ちです。
20 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 

10
迷路は解決できますか?
パズル 迷路n * mを解決できない場合は0を出力します 迷路n * mを解決できる場合は1を印刷します(1つ以上の方法で) (だから私はパスを求めていませんが、それが解決できる場合は!!!) 入力配列(2d): [[0,0,0,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,1,0,0],[1,0,0,0,0,0,0]] XXXXXXXXX XS XX X X X X X X XX FX XXXXXXXXX 0 = can pass through 1 = can not pass trough [0][n] is the last block of the first line [m][0] is the first block of the last …

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

2
氷の迷路を解く
氷の迷路は、ポケモンゴールドとシルバーでデビューして以来、ポケモンゲームの主なお気に入りの1つです。あなたの仕事は、これらのタイプの問題を解決するプログラムを作成することです。 名前が示すように、氷の迷路は主に氷で構成されています。プレイヤーが氷上である方向に移動すると、障害物と衝突するまでその方向に移動し続けます。自由に移動できる土壌もあり、プレイヤーが移動するのを止めます。最後の障害は石です。ストーンはプレイヤーと同じスペースを占有できず、プレイヤーがそこに移動しようとすると、移動する前に停止します。 リストのリストや改行で区切られた文字列など、3種類のフローリング(氷、土、石)ごとに3つの異なる値を含む、値の2次元コンテナを受け取ります。また、迷路内の開始座標と目標座標を示す2つのペア(または他の同等の2つの値コンテナー)を受け取ります。これらはゼロまたは1つのインデックスが付けられます。 実行時にプレイヤーが最後に到達するようにする動きのリスト(N、E、S、Wへの全単射で4つの異なる値)を出力する必要があります。 入力は常に迷路の周りに石の閉じた境界線を持っているので、プレイヤーが迷路を出るのを心配する必要はありません これはコードゴルフなので、最少バイトが勝ちます テストケース ここ.は氷~を表し、土壌Oを表し、石を表します。座標には1のインデックスが付けられます。ソリューションの各文字は、その文字で始まる方向を表します(例N=北) 入力 OOOOO OO.OO O...O OOOOO Start : 3,3 End : 3,2 出力 N 入力 OOOOOOOOOOOOOOOOO O........O.....OO O...O..........OO O.........O....OO O.O............OO OO.......O.....OO O.............OOO O......O.......~O O..O...........~O O.............OOO O.......O......OO O.....O...O....OO O..............OO OOOOOOOOOOOOOO~~O OOOOOOOOOOOOOOOOO Start : 15,12 End : 16,8 出力 N,W,N,E,N,E,S,W,N,W,S,E,S,E,N,E,N 入力 OOOOOOOOOOOOOOOO O~~~~~OOOOO~~~~O O~~O~OOOOOOO~~OO O...O..........O …

13
シェルピンスキー層
はじめに、そのような下に線を追加することにより、パターンのようなシェルピンスキーの三角形/\を作成することができます... ゆるい枝/または\2つの枝に再び分割されます/\。 ブランチの衝突は、その\/下に何も(スペースはありません)死んでしまいます。 これらの規則を繰り返すと、 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHartによるインスピレーション) 正の整数Nを取り込んで、このパターンの最初のN行をstdoutに出力するプログラムまたは関数を作成します。必要以上に先行または後続のスペースはありません。 たとえば、入力が1出力の場合、 /\ 入力が2出力の場合 /\ /\/\ 入力が8出力の場合 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等々。 最小バイトのコードが優先されます。

4
圧縮された曜日
曜日のリストの入力が与えられると、リストの最短のソートされた表現を出力します。 入力の形式は、2文字のストリングの一つ以上からなる文字列であるSu(日)、 Mo(月)、 Tu(など)、 、We、Th、 FrおよびSa。入力は必ずしもソートされた順序で与えられるとは限りません。 入力を出力形式に変換するには、 入力を日曜日から始まる曜日で並べ替えます(例ThMoSaSuFrTuWe-> SuMoTuWeThFrSa)。 あいまいさを残さない場合は、略語を1文字に減らします。たとえば、最初のSが土曜日になることができなかったため、にSuMoTuWeなるはずSMTWです。これにより、出力がソートされなくなります(Tと同じ)。しかし、ThFrSaなるはずThFS火曜日と木曜日の両方が金曜日前にそれを減らしてくると、TFSあいまいさを作成します。 出力がnowの場合、代わりMTWTFに出力D(「week day s」を表します)。同様に、SSなるはずE週間のために終了。最後に、 SMTWTFSなるべきAために、すべての日。 入力と出力は両方とも単一の文字列でなければなりません。 これはcode-golfであるため、バイト単位の最短コードが優先されます。 テストケース: In Out | In Out -----------------------|-------------------- SuTu STu | SuTuWe STW SuTuSa STuS | SuWeTh SWT TuThSa TTS | TuThSu STT Su Su | Sa Sa WeTh WT | FrTh ThF WeTu TW …

2
ランレングスレーサー
2つの入力が与えられます:ランニングトラックを定義するランレングスエンコード形式の文字列と、開始するレーンを表す大文字。たとえば、文字列「3a4A6b5B」は「aaaAAAAbbbbbbBBBBB」に展開されます。次に、展開された文字列を使用して、次のようなトラックを作成します。 A) aaaAAAA B) bbbbbbBBBBB これは2車線のトラックです。小文字は空気を表します。オンエアはできません!大文字は、あなたが走れる道を表します。このチャレンジの目標は、大文字を与えられて、そのレーンでスタートするレーサーがどこまで走れるかを出力することです。レーサーは、直上または直下に道路がある場合、車線を切り替えることができます。また、逆方向への実行も許可されています!この特定のトラックでは、いずれのトラックも位置1の走行可能な道路がないため、文字入力の出力は0です。 例: 入力:「4A5B4c3C」、「A」 このコードは、次のようなトラックに展開されます。 A) AAAA B) BBBBB C) ccccCCC この例の出力は7です。これは、レーンAで始まるランナーがレーンBに移動し、次にレーンCに移動して、7番目の位置で終わる可能性があるためです。 入力:「4A2B3D」、「D」 追跡: A) AAAA B) BB C) D) DDD 出力は3です。これは、レーンDで始まるランナーがレーンBまたはAに到達する方法がないためです。 入力:「4A4a4A3b6B5C」、「A」 追跡: A) AAAAaaaaAAAA B) bbbBBBBBB C) CCCCC AのランナーはBに切り替えて、最後にAに戻ることができるため、出力は12です。「C」の最大距離も12です。「B」の場合、0です。 入力:「12M4n10N11O」、「M」 追跡: M) MMMMMMMMMMMM N) nnnnNNNNNNNNNN O) OOOOOOOOOOO 複数桁のランレングスを使用した簡単な例。出力は14です。 入力:「4A5B1b2B4c3C」、「A」 追跡: A) AAAA B) BBBBBbBB …

1
私はあなたのようなコードゴルフパズルを解きましたが、膝に矢を取りました
矢で膝にぶつかるのは、今選択した怪我のようです。そのため、次のゴルフチャレンジを提案します。 次のような冒険家がいます。 O /|\ / | \ | | / \ / \ 1つの弓(}シンボルとして描画)、1組の壁(#シンボルとして描画)、および1人の冒険者を含むテキストファイルが与えられた場合、ヒットするために矢印を発射する角度と初期速度を計算する最小のコードを記述しますひざの彼。 以下を想定します。 ファイル内の各文字は0.5 x 0.5メートルです。 矢印はの中心から発射されます}。つまり、0.25m, 0.25m 重力は 10ms^-2 矢印の重さ 0.1kg 矢印はポイントです。つまり、矢印の座標がブロックの1つに入ったときにのみ衝突が発生します。 最大初期速度は 50m/s 角度は0(真上)から180(真下)までの範囲で指定できます 冒険者の足のどの部分を打つことは、膝への打撃と見なされます。 壁(#キャラクター)は0.5mx 0.5mブロック全体を占有します。 矢印はファイルの「上部」を移動できますが、入力が#文字の天井から始まるのを止めるものは何もありません。 矢印で壁を貫通することはできません。 冒険者の他の部分を打つことは許可されていません! 彼を膝で打つことが不可能な場合は、エラーを表示する必要があります。 入力例: # } O # /|\ / | \ # | # | / \ …

5
ジャンプとランニング
マシューはパズルを解くのが好きです。彼がなんとか解決しようとするたびに、彼は喜んでスキップします。最近、彼は本当にこれをする必要があります、流星群が地面に彼が落ちたくないクレーターと穴を開けたので。 あなたは、マシューが横断したい風景の一部を与えられ、うまくいけば最後に健康に到着します。地面はメートル単位で与えられ、各メートルは通常の地面または穴のいずれかです。彼が走っているとき、彼はなんとかステップごとに1メートルを越えることができます。別の方法は、ステップごとに4メートルを超えるジャンプです。マシューは最初の地上メーターの一番左から始まり、最後のメーターまで行きたいと思っています(ただし、それ以上ではありません。風景の最後のメーターを超えて無限の穴を想像してください)。 入力 入力は、改行で終了する標準入力の単一行として指定されます。線はダッシュ(-)またはアンダースコア(_)で構成され、それぞれ地面または穴のメーターを表します。サンプル入力は次のとおりです。 ----__--___--- 指定されたランドスケープは少なくとも1メートル、最大で30メートルの長さで、常に地面から始まります。 出力 出力は標準出力で提供され、Matthewへの一連の移動コマンド(run(R)またはjump(J))を表します。上記のように、 実行コマンドによりマシューは1メートル走り、ジャンプすると正確に4メートル前進します。上記の例では、次の移動が可能です。 RRJRJRR おおよそ次のようになります。 ランドスケープを通る安全なパスがない場合は、感嘆符(!)を1つ印刷する必要があります。 サンプル入力 -------- ----__--___--- -_______ -_-_-_-_-_- - サンプル出力 JRRR RRJRJRR ! ! (最後の出力は移動する必要がないため空白ですが、Markdownはこれを解析できないと思います) 注意 単一の可能なパスのみが必要であるため、プログラム出力はサンプル出力に正確に一致する必要はありません。ソリューションが存在し、すべての移動コマンドが地面に移動し、最終的に最後のメーターに到達した場合にソリューションが提供される限り、出力は有効です。 標準エラーの追加出力は無視されます。 勝利条件 ゴルフで通例であるように、最短のコードが勝ちます。同点の場合、以前のソリューションが優先されます。 テストケース 同じテストケースを含む2つのテストスクリプトがあります。 bash(Venteroに感謝) パワーシェル 呼び出しはどちらの場合でも:<test script> <my program> [arguments]、./test ruby jumprun.rbまたは./test.ps1 ./jumprun.exe。 別のメモ このタスクは、2011〜W24の間に私の大学で開催されたゴルフコンテストの一部でした。出場者のスコアと言語は次のとおりです。 104 –ハスケル 131 –ハスケル 154 – C …

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 

2
ビリヤードをする
このコードゴルフでは、ポケットに落ちる前に正確にn個のクッションに当たる最短ショットの方向を決定する必要があります。 ビリヤードテーブルは、次の特徴を持つ6ポケットプールテーブルです。 寸法は可変です(a x b) 摩擦なし:ボールはポケットに落ちるまで永遠に転がります ポケットとボールのサイズはほぼゼロです。これは、同じ位置にある場合にのみ、ボールがポケットに落ちることを意味します。 ボールは最初に左下の穴に置かれます(しかし、落ちません) テーブルの寸法(a、b)とnをヒットするクッションの数を入力として受け取り、ポケットに落ちる前に正確にn個のクッションをヒットする最短パスの角度を度数で返す完全なプログラムまたは関数を作成します。 a > 0 b > 0 0 <= n <10000000 0 < アルファ <90(度)精度:少なくとも10 ^ -6 例: で= 2、B = 1、N(1)(2)(3)次の図に:= 1三つの可能な経路が存在します。数値(1)は最短であるため、出力はatan(2)= 63.43494882292201度になります。 a = 2、b = 1、n = 4 の解はatan(4/3)= 53.13010235415598度です 試験サンプル: a = 2, b = 1, n = …

3
トグル、印刷、繰り返し
このチャレンジは緩く未実装esolangに触発されPADA。 すべてゼロに初期化された8ビットの配列を考えます。任意の文字列を印刷するための非常に最小限の命令セットを紹介します。2つの命令があり、どちらもNビットのインデックスであるパラメーターを取ります。 t N以下のためにトン oggle:これは、ビットの値を変更しますN。 p Nfor p rint:これは、8ビットすべてを、bitから始まりNendの周りにラップするバイトとして解釈します。このバイトに対応する文字がSTDOUTに出力されます。 例を見てみましょう。印刷したい:=。単純に次のようにこれを達成します(0ベースのビットインデックス): t 2 [0 0 1 0 0 0 0 0] t 3 [0 0 1 1 0 0 0 0] t 4 [0 0 1 1 1 0 0 0] t 6 [0 0 1 1 1 0 1 0] …

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