タグ付けされた質問 「puzzle-solver」

このタグは、数独、ルービックキューブ、クロスワードパズルなどのパズルを解くプログラムを書くことに挑戦する場合に使用します。

1
グリッドタングラムを解く
タングラムは五異なるサイズの三角形、平行四辺形や広場:7つの形状から作られた解剖パズルです。形状が与えられた場合、目標は、すべてのピースを使用して、重複することなく形状を再作成することです。このピースのセットを平面に配置するには、明らかに無限に多くの方法があります。興味深いサブセットは グリッドタングラム 「標準の」タングラム正方形を、グリッドで 16個の小さな正方形に分割された大きな正方形に描画できます。グリッドタングラムは、タングラムのすべての頂点がグリッドポイント上にあるように、タングラムのピースで構成される形状です。 これらは、おそらくより一般的なものよりも扱いやすいため、この課題で検討したいタングラムパズルの種類です。 補足:中国の数学者であるChuan-Chin HsiungとFu Traing Wangは、1942年に凸タングラムが13個しかないことを証明しました。彼らはまず問題をグリッドタングラムに縮小できることを示し、次にいくつかの組み合わせおよび幾何学的引数を使用しました。これらはすべて13です。 チャレンジ 解けるグリッドタングラムが与えられた場合、グリッドタングラムの解剖を7つのタングラムピースに出力します。 IO タングラムは、両側が50pxの倍数である白黒画像(形状は黒、背景は白)として与えられます。グリッドの幅は正確に50pxです。グリッド線は画像の側面に平行です。 編集:画像は入力として受け入れられ、PNG、TIFF、PBMなどの便利なラスター画像形式で出力として返されますが、バイナリ2d配列または文字列または行列としての表現は受け入れられます。 出力も同じサイズで同じ形状である必要がありますが、各ピースの色が異なるか、すべてのピースを分離する白い線が必要です。四角形以外の四角形を反転できることに注意してください。 ピースの境界上のピクセルは、シェイプ上のピクセルと正確に一致する必要はありません。エイリアシング効果やその他のファズがある場合でも、これで問題ありません。 入力と出力の例: 例: 可能な解決策:

2
ピーク体験:すべてのピークをすばやく訪問
私は、たとえば、高度が数字で表されるx マップのポイント(0,0)に立っています。HW 1132 2221 1230 # H = 3, W = 4 すべてのピークからの景色を体験したいと思います3。この場合は、標高の高いエリアです。しかし、丘を登るのは簡単なことではなく、私も時間を使い果たしています。 チャレンジ 課題は、すべてのピークを訪れて戻ってくるための最速のパスを見つけることです。 最短のプログラムが勝ちます。 入力 H、W-マップの高さと幅(整数)(オプション、リスト/タプルまたは2つの個別の整数入力) 任意の便利な形式(2Dリスト、改行で区切られた文字列など)HのW数字のセット(0- 9)として与えられるマップ 出力 すべてのピークを訪れて出発点に戻るまでの最短時間(整数) 条件 特定のエリアの高度は、0〜の数字で表され9ます。 「ピーク」は、最高高度のエリアによって定義されます。 パスは、左上(0,0)領域で開始および終了する必要があります。 現在のエリアに隣接するエリアにのみ移動でき、斜めに移動することはできません。 高度に変化がない場合、あるエリアから別のエリアに移動するのに3分かかります。 登るには11分かかります。つまり、あるエリアから別のエリアに移動し1ます。これは正確に単位が高くなります。 降りるのに2分かかります。つまり、あるエリアから別のエリアに移動し1ます。これは正確に単位が低くなります。 現在地よりも1 1ユニット以上高いまたは低いエリアに移動することはできません。(高度のあるエリアから1隣接する高度のあるエリアに移動することはできません。たとえば、3) すべてのピークへのパスが保証されています ピークの最大数はです15。 サンプル 入力 4 5 32445 33434 21153 12343 出力 96 説明 左上から始め3ます。次の2つの訪問しなければならない5に位置しているのを(0,4)と(3,3)し、戻ってくる3の(0,0)最短時間で。 3 2 4->4->5 V …

2
六角形のロッドscupltureに保持されている水
私は奇妙な彫刻に接着された六角形の棒の束を持っています。棒の長さは1〜99センチメートル(cm)で、断面積は1平方センチメートルです。すべてのロッドは、六角形の面で少なくとも1本の他のロッドに接着されています。ロッドはすべて下端で揃えられています。 大雨の後、彫刻は水で満たされています。それはどれくらいの水を保持しますか? 入力 プログラムは、(stdinまたはファイルを介して)スペースのペアと次の形式のロッドの長さを指定する数字のペアで構成される行を読み込む必要があります。 aa bb cc dd ee ff gg 例に示すように、各ロッド(ここのddなど)は、最大6本の周囲のロッドに接着されています。不足しているロッドは穴であり、水を収集しません。たとえば、入力 04 04 04 01 03 04 04 次の彫刻を表します。 中央の棒は高さです1(その棒が見える角度が見つかりませんでした)。これで、そのロッドの上のコラム3は、右側のロッドから溢れる前に2 cmの水を保持できます。他のロッドはどれもその上に水を保持できないため、答えはになります2。次に、さらに2つの複雑な例を示します。 Example 2: 55 34 45 66 33 21 27 23 12 01 77 36 31 74 answer = 35 ( 2 on top of 21 +11 on top …

3
原子プロポーションのゲーム
あなたのタスクはAtomasをプレイするボットを作成し、最高スコアを獲得します。 ゲームの仕組み: ゲームボードは、6つの「原子」のリングから始まります。 1します3。原子自体に応じて、2つの原子間または別の原子上で原子を「再生」できます。 通常のアトムまたは特別なアトムを使用できます。 通常の原子: ボード上の任意の2つの利用可能な原子の間で通常の原子を再生できます。 範囲内の原子から始めます1 to 3が、範囲は40移動ごとに1ずつ増加します(したがって、40移動後に範囲は2 to 4)。 ボード上に範囲よりも低い原子がある場合1 / no. of atoms of that number on the board、スポーンする可能性があります。 2プレイする必要があるとしましょう。ボードは次のようになります。 1 1 2 1 2の右側に配置しましょう1。 ボードは次のようになります。 1 1 2 1 2 注:ボードは折り返されているので、1左端は実際には2右端のます。これは後で重要になります。 「特別な」アトムには4つのタイプがあり、それらは次のとおりです。 の +アトム: このアトムは、2つのアトム間で再生されます。産卵の確率は5分の1です。 原子の両側の+原子が同じ場合、融合が発生します。仕組みは次のとおりです。 The two atoms fuse together to create an atom …
21 code-challenge  game  code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

8
最速の数独ソルバー
勝者が見つかりました 勝者がいるようです!誰もが世界最速の数独ソルバーと競う予定がない限り、ユーザー53x15は驚くほど高速なソルバーTdokuで勝ちます。まだソルバーに取り組んでいる人のために、時間があれば新しい提出物のベンチマークを行います。 チャレンジ 数独のゲームの目標は、各行、列、およびボックスに各番号が1回だけ含まれるように、各セルに1から9の数字をボードに入力することです。数独パズルの非常に重要な側面は、有効なソリューションが1つだけであることです。 このチャレンジの目標はシンプルです。数独パズルをできるだけ早く解決する必要があります。ただし、古い数独を解くだけでなく、現存する非常に難しい数独パズルである17-clue数独を解くことになります。以下に例を示します。 ルール 言語 任意の言語を自由に使用できます。ご使用の言語用のコンパイラーがインストールされていない場合は、Linuxでスクリプトを実行できる環境をインストールするために必要なコマンドライン命令のセットを提供できるはずです。 ベンチマーク機 ベンチマークは、Dell XPS 9560、2.8GHz Intel Core i7-7700HQ(3.8GHzブースト)4コア、8スレッド、16GB RAMで実行されます。GTX 1050 4GB。マシンはUbuntu 19.04を実行します。uname興味のある方のための出力を次に示します。 Linux 5.0.0-25-generic #26-Ubuntu SMP Thu Aug 1 12:04:58 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux 入力 入力はファイルとして提供されます。それは見つけることができるここに。ファイルには49151個の数独パズルが含まれています。ファイルの最初の行はパズルの数であり、その後の各行は81文字の長さで、パズルを表しています。未知のセルは0であり、既知のセルは1-9です。 プログラムは、ファイル名を引数として受け取るか、STDINからファイルを入力できるようにして、ソリューションの手動チェックを容易にする必要があります。プログラムがどのように入力を受け取るかについての指示を含めてください。 タイミング/スコアリング コメントの議論といくつかの考察から、採点基準はプログラム全体の時間になるように変更されました。プログラムは、公式のスコアリング中であっても、正しいハッシュを持つ出力ファイルを生成する必要があります。これは、既存のソリューションを妨害せず、現在のランキングを変更しません。スコアリングシステムに関するご意見をお待ちしています。 2つのソリューションの個々の実行のスコアが類似している場合、複数のベンチマークを実行し、平均時間が最終スコアになります。平均スコアの差が2%未満の場合、それを引き分けと見なします。 ソリューションの実行に1時間以上かかる場合、公式にスコアリングされません。そのような場合、それを実行したマシンとスコアを報告する責任があります。最適化されたソルバーの場合、これは問題になりません。 編集:難しいとはいえ、手元にある問題は最も難しい問題ではないということが私の注意を喚起しました。時間があれば、ここで紹介するソリューションをより難しいパズルセットに対してベンチマークし、各提出物にスコアを追加します。ただし、これは公式の得点ではなく、単なる楽しみです。 検証 ソリューションは、MD5 / SHA256チェックサムによって検証されます。スクリプトは、すべてのパズルとその解決策を含むファイルを生成できるはずです。ただし、ファイルも手動で検査されるため、ハッシュの衝突を取得しようとしないでください。出力ファイルは一致する必要があります。 MD5:41704fd7d8fd0723a45ffbb2dbbfa488 SHA256:0bc8dda364db7b99f389b42383e37b411d9fa022204d124cb3c8959eba252f05 ファイルは次の形式になります。 <num_puzzles> <unsolved_puzzle#1>,<solved_puzzle#1> …

6
ブリティッシュインテリジェンスを倒せますか?(ノノグラムソルバー)
ブリティッシュインテリジェンスを打ち負かすという危険な探求に乗り出す時が来ました。この課題の目的は、ノノグラムを解決する最短のコードを書くことです。 ノノグラムとは何ですか? ルールは簡単です。正方形のグリッドがあり、黒で塗りつぶすか、空白のままにする必要があります。グリッドの各行の横には、その行の黒い四角の実行の長さがリストされます。各列の上には、その列の黒い四角の連続の長さがリストされています。あなたの目的は、すべての黒い正方形を見つけることです。このパズルタイプでは、数字は、特定の行または列にある塗りつぶされた正方形の切れ目のないラインの数を測定する離散トモグラフィーの形式です。たとえば、「4 8 3」の手がかりは、4、8、および3つの塗りつぶされた正方形のセットがこの順序であり、連続するグループ間に少なくとも1つの空白の正方形があることを意味します。[ 1 ] [ 2 ] したがって、上記のノノグラムの解決策は次のとおりです。 実装の詳細 任意の方法でNonogramを表現す​​ることを選択し、言語に適した方法で入力として使用することができます。出力についても同様です。この課題の目的は、文字通り仕事を成し遂げることです。プログラムが提供する出力で非グラムを解くことができれば、それは有効です。1つの注意点は、オンラインソルバーを使用できないことです:) この問題は完全に効率的な解決策がないという点で非常にアルゴリズム的に挑戦的(np-complete)であり、そのため、大きな問題を解決できないことに対するペナルティはありませんが、そうであれば答えは大きく報われます大きなケースを処理できる(ボーナスを参照)。ベンチマークとして、私のソリューションは5〜10秒以内に最大約25x25で動作します。さまざまな言語間で柔軟性を持たせるには、25x25のノノグラムで5分未満のソリューションで十分です。 常に正方形のNxNノノグラムでパズルを想定できます。 このオンラインのノノグラムパズルメーカーを使用して、ソリューションをテストできます。 得点 もちろん、好きな言語を自由に使用できます。これはコードゴルフなので、エントリは次の順序で並べ替えられます。accuracy -> length of code -> speed.ただし、コードゴルフ言語、ゴルフの試みを示すすべての言語での回答に落胆しないでください。興味深い方法で支持されます! ボーナス ここでは、ブリティッシュインテリジェンスがリリースした暗号化されたクリスマスカードから実際に非グラムについて学びました。最初の部分は、基本的に大規模な25x25ノノグラムでした。あなたのソリューションがこれを解決できる場合、あなたは称賛を得るでしょう:) データ入力の面であなたの人生を楽にするために、私はあなたの無料使用のためにこの特定のパズルのデータをどのように表現したかを提供しました。最初の25行は行の手がかりで、その後に '-'の区切り線、25行の列の手がかり、 '#'の区切り線、正方形の手がかりが入ったグリッドの表現が続きます。 7 3 1 1 7 1 1 2 2 1 1 1 3 1 3 1 1 3 1 1 3 …

4
川に石を投げるスパイのペアを構築します
最近、新しくリリースされたPuzzling.SEで、スパイが川に石を投げ入れるという問題がありましたが、実際には非常に困難でした。 2人のスパイは、敵に気付かれずに2つの秘密の番号(スパイごとに1つの番号)を渡す必要があります。彼らは前もってわずか26個の区別できない石を使用してこれを行う方法に同意しました。 彼らは26の石の山がある川で会います。最初のスパイから始めて、彼らは交互に石のグループを川に投げます:最初のスパイはいくつかの石を投げ、次に2番目のもの、そして最初のものを再び投げます... すべての石がなくなるまで、各スパイは自分のターンに少なくとも1つの石を投げなければなりません。 彼らはすべての投球を観察し、石がなくなると発散します。彼らは常に沈黙を保ち、各ターンに投げられる石の数を除いて情報は交換されません。 番号が1からMまでの場合、どうすれば番号を正常に交換できますか? あなたの仕事はプログラムのペアを構築することです、spy1そしてspy2可能な限り最高のために、この問題を解決することができ、M。 あなたのプログラムはそれぞれ、入力として1選択さMれた番号を受け取ります。次に、spy1川に投げる石の数を表す数値を出力します。これは、入力されるspy2数値も出力しspy1、数値出力が合計されるまで続き26ます。スローが終了すると、各プログラムは、他のプログラムが持っていると信じている番号を出力します。これは、他のプログラムに実際に入力された番号と一致する必要があります。 プログラムは(i, j)、両方のiおよびjから1に変化する可能性のあるすべての可能な番号のペアに対して機能する必要がありますM。 最大の規模で機能するプログラムがM勝者となり、最初の回答が同点になります。さらに、私は、機能することが証明された最初のソリューションに対して+100の評価賞金を、機能することが証明さM >= 2286れた最初のソリューションに対して+300を授与しM >= 2535ます。

1
Fillominoソルバー
Fillominoは、グリッドをポリオミノで埋めるパズルです。各ポリオミノは、連続したセルの領域です。グリッド表示は、polyominoが各セルをカバーするサイズを示します。たとえば、pentomino(5)は5、5つの連続したセルのそれぞれに表示されます(以下を参照)。同じサイズの2つのポリオミノは境界線を共有できませんが、斜めに境界線を持つことができます。 各パズルについて、あなたはいくつかの与えられたものから始めて、残りのセルを埋めなければなりません。簡単なパズルの例と解決策: あなたの仕事:四角いパズルを考えて、それを解いて答えを出してください。入力は、stdin、単一のコマンドライン引数、またはテキストファイルを介して行われます。入力は整数として与えられ、それぞれに数字の行がn続きます。空のセルは、period()として与えられます。上記のパズルの例では、次のようになります。nn. 5 3..66 5.4.6 .54.6 .1.6. ..312 出力は、コンソールまたはテキストファイルへnのn数字の行で与えられた解決されたパズルです。 33366 55446 55466 51462 33312 パズルが有効でない場合は、を出力します0。入力の形式が正しくない、または解決策がない場合、パズルは無効になる可能性があります。複数のソリューションがある場合、それらのいずれかまたはすべてを出力できます。 各セルは1桁で表されるため、パズルはすべてポリオミノのサイズ9以下で構成されます。大きなポリオミノなしでは解決できない場合は、無効であると考えてください。 有効な答えは、単にテストケースのソリューションを出力するだけでなく、特定のパズルを解決します。オンラインでもローカルでも、外部リソースはありません。そこならば起こるビルトインフィルオミノ解決機能、あなたがそれを使用することはできませんと言語であることを。要するに、フェアをプレイします。 テストケース: 入力: 9 ..21.3..5 .5...5..5 .1.44.334 ...53.4.. 2.3.3..5. 1.15.5.15 ..45..1.. .24.53.53 ....2.... 出力(可能な解決策): 322133315 355445555 315443334 235531444 233135551 141535515 344553155 324553553 321223133 一部のポリオミノには番号が指定されておらず、複数のポリオミノが複数あることを忘れないでください。与えられた数とポリオミノの数の間には1対1の関係はありません。 スコアは、標準のコードゴルフ、バイト単位のプログラムのサイズです。

13
ブルートフォース数独ソルバーを実装する
推測を使用して最短の数独ソルバーを実装します。いくつかのリクエストを受け取ったので、ブルートフォースの数独ソルバーを実装したい人のための代替の質問としてこれを追加しました。 数独パズル: | 1 2 3 | 4 5 6 | 7 8 9 -+----------------------- A| 3 | 1 | B| 6 | | 5 C| 5 | | 9 8 3 -+----------------------- D| 8 | 6 | 3 2 E| | 5 | F| 9 3 | 8 | …

1
0h n0ボードを解く
0h n0は非常にシンプルで楽しいゲームで、数独や掃海艇に少し似ています。 ゲームのルール (可能であれば、ゲームでチュートリアルを使用することをお勧めします。非常にシンプルで便利です) パズルは、n * nいくつかの固定ピースといくつかの空のセルを含むボードから始まります。ソルバーは、空のセルをピースで満たし、固定ピースによって課せられるすべての制約を満たす方法を見つけなければなりません。略語で使用するピースのタイプは次のとおりです。 # 赤い部分(青い部分のブロックビュー) O ブルーピース . 空の場所 number番号付きの青い部分(number1桁以上の数字です) 番号付きのすべてのピースには、番号とまったく同じ量の青いピースが表示される必要があります。例えば: #1O#O ...O. 1作品は一つだけ、他の青の部分を見ることができます。 ピース同士の見方 2つの青い部分が同じ行または列にあり、それらの間に赤い部分がない場合、互いに見えます。例: (作品が見ることができる、見ることができないS場所です)OX S S X#SOSS # X 各青いピースには、少なくとも1つの他の青いピースが表示される必要があります。 #O# うまくいかないが: #OO または: ### 仕事する。 デモボード解決 .1.. ..1. .... 22#2 右下2はそれ自体の上にしか見えないので、青でなければならず、右上は赤でなければなりません。 .1.# ..1O ...O 22#2 1は塗りつぶされているため、赤い部分で囲むことができます。 .1## .#1O ..#O 22#2 左上1は一方向にしか見えないため、埋めることができます。 O1## …

1
ハルマの最短2プレイヤーゲーム
Chessでは、Fool's Mateを使用して4移動(各2回)した後にゲームを終了することができます。 あなたの目標は、Fool's Mate of Halmaを見つけることです。これは、プレイするターン数を最小限に抑えるHalmaの2人用ゲームです。 10 56を超えるボードステートがあり、分岐係数が1000を超えているのを見てきたので、最適なソリューションが見つかる可能性は誰にもありません。代わりに、できる限り最適なソリューションを見つけようとしています。 移動のリストと、それらの移動の生成に使用したコードを送信する必要があります。 ゲームの説明 HalmaはChinese Checkersに似ていますが、16 * 16の正方形のボードでプレイします。 最初、ボードは次のようになります。 ゲームの目的は、すべてのピースを対戦相手のピースの開始位置に移動することです。 プレーヤーのターンで、彼/彼女は以下を行うことができます。 ターンを渡す 自分の作品の1つを隣接する空きスペースに移動します。隣接するスペースには対角線が含まれます。 彼/彼女の作品のいずれかを取り、何度でも次の操作を行います。隣接する作品の上に作品をジャンプし、飛び越えた作品の反対側のスペースに着地します。 次に、2番目のタイプの移動を説明する例を示します。 ルール ゲームが終了する合法的な動きのリストを提出してください。 リストの生成に使用したコードを送信します。 他の人のコードからより良い結果を得る場合、コメントで結果を投稿するか、新しい結果で投稿を編集してください。 各移動はNone、ターンを通過するか(x1,y1,x2,y2)、ピースを移動する必要があります。移動するピース(x1,y1)の座標とそのピースの移動(x2,y2)先です(ジャンプ移動の場合、中間座標は無視します)。座標(0,0)は左上隅から始まります。x座標は右に増加し、y座標は下に増加します。移動は改行で区切る必要があります。 このpythonスクリプトを使用して、移動を確認できます。でpython halma_verify.py < file移動を確認するために使用しfileます。 最短リストが勝ちます。

3
真珠のネックレスを張る
概要 Pearls(またはMasyu)は、グリッド上でプレイされるロジックゲームです。黒と白の真珠がグリッドに配置されています。オブジェクトは、形成することです単一の閉じたループ直線セグメントと直角のみを使用して、各真珠を通過ことです。 ループが真珠とどのように相互作用するかを管理するいくつかのルールがあります。 白い真珠は真っ直ぐに移動する必要がありますが、ループはそのパス内の前のセルおよび/または次のセルで回転する必要があります。 黒真珠をオンにする必要がありますが、ループはそのパス内の次のセルと前のセルを直進する必要があります。 ループはそれ自体と交差または交差してはなりません。すべてのセルには、正確にゼロまたは2つのループのエントリ/出口があります。 ウィキペディアのパズルの例(およびその解決策): あなたの目的は、与えられたパズルを解くことです。考えられる解決策が複数ある場合、どちらを指定してもかまいません。 入力 入力は、未解決の正方形グリッドになります。上記の例は次のようになります。 ..w.w..... ....w...b. ..b.b.w... ...w..w... b....w...w ..w....w.. ..b...w... w...b....w ......ww.. ..b......b wホワイトパール、bブラックパール、.空のセルです。 入力が有効であると仮定します。これは、整形式であることを意味し、少なくとも1つの解決策が可能です。有効なパズルはすべて3x3以上で、少なくとも1つの真珠が含まれています。 出力 出力は、パスを表す座標の文字列です。グリッドの左上隅は0 0、右上はn-1 0、ここでnはグリッドの幅です。 パスは、単に順序付けられた一連の座標です。 x1 y1 x2 y2 x3 y3 ... パスは閉じられていると想定されるため、最後に最初の座標を繰り返す必要はありませんが、閉じてもペナルティはありません。 出力は、パス内の少なくともすべてのコーナーで構成される必要があります。ターンがない場合、パス上のすべてのセルを出力する必要はありません。たとえば、この例の出力は次のように開始できます。 1 0 5 0 5 1 ... または 1 0 2 0 3 0 …

1
ドットを接続できますか?
この課題は、Flow Freeに基づいています。オンライン版はここで見つけることができます:http://www.moh97.us/ パズルが渡されます。1パズルが解ける0場合、または解けない場合は戻らなければなりません。 パズルを解くには、プレーヤーは空の四角を1回だけ使用して、数字の各ペアを接続するパスを作成する必要があります。 正方形の寸法で渡され、次に各ドットのx、y、c(cは色を表す数字)に渡されます。例えば: あなた5,5 0,0,0 3,0,1 1,1,2 1,2,2 4,2,1 4,4,0に渡された場合、それは以下を表します: 0..1. .2... .2..1 ....0 そして、1を返します。 以下に、テストの問題をいくつか示します。 5,2 2,0,1 0,1,2 4,1,2 を表します: ..1.. 2...2 が1つしかないため、解けません1。 4,2 0,0,0 3,0,0 0,1,0 3,1,0 を表します: 0..0 0..0 また、2 0秒以上含まれるため、解けません。 8,6 0,0,1 7,5,1 を表します: 1....... ........ ........ ........ ........ .......1 そして、あなたはすべての正方形を使用することはできないので、解決できません。 2,5 0,0,1 2,0,6 …

2
マッチスティックパズルを解く
不可解なSEには、「マッチスティックの問題」と呼ばれるものがあり、そこでは数学がマッチスティックに書き込まれ、特定のプロパティを取得するために特定の数を動かすことが許可されます。 この質問では、7セグメント表示形式で表される整数のみを検討します。以下は、その形式の10桁すべてです。 __ __ __ __ __ __ __ __ | | | __| __| |__| |__ |__ | |__| |__| |__| | |__ __| | __| |__| | |__| __| ディスプレイの各セグメントは1つの「マッチ棒」であり、残りの番号とは無関係に移動できます。マッチ棒は不可分で破壊不能であり、いかなる手段によっても破壊または除去することはできません。 一般的なパズルは、ベース10で指定された数を取得し、指定された数の移動で可能な限り最大の数にすることです。移動は、使用中のスロットから他の未使用のスロットへのマッチスティックの1つの移動と見なされます。数字の両側に新しい数字を作成することは完全に許可されています。たとえば、0から77に3の動きを与えることができます __ __ __ __ __ __ __ | | | | | | | | | |__| …

13
逆順列インデックス
前書き リストの辞書式の順列n個の要素は、0から番号を付けることができ、N!-1.たとえば、3!= 6個の順列が(1,2,3)あろう(1,2,3)、(1,3,2)、(2,1,3)、(2,3,1)、(3,1,2)、(3,2,1)。 順列がリストに適用されると、その要素は順列の数字と同じ順序で並べられます。たとえば、yieldsに順列(2,3,1)を適用しl = (a,b,c)ます(l[2],l[3],l[1]) = (b,c,a)。 順列の逆は、この操作を逆にする順列として定義されます。つまり、順列を適用し、その逆(またはその逆)は配列を変更しません。たとえば、yの逆(2,3,1)は(3,1,2)、(b,c,a)yieldsに適用されるため(a,b,c)です。 また、順列自体に適用される順列の逆は、整数1… nを生成します。たとえば、yields に適用(3,1,2)し(2,3,1)ます(1,2,3)。 私たちは今、関数定義revind(Xをインデックスと順列の逆置換の指標として)のx。(興味がある場合、これはA056019です。) インデックスの順列ので、私は唯一の最後の変更のkリストの項目を場合に限っ 0≤ I < K!、我々は影響を与えずに、リストの先頭に任意の数の要素を追加することができますrevind(Iを)。したがって、リストの長さは結果に影響しません。 チャレンジ あなたのタスクはrevind(x)を実装することです。入力/引数として単一の非負整数xを取り、結果を単一の非負整数として出力/返す完全なプログラムまたは関数を作成します。 入力および出力は0インデックスまたは1インデックスの場合がありますが、これはそれらの間で一貫している必要があります。 インデックスによって順列を生成する、順列のインデックスを返す、または逆順列を見つける組み込み関数は禁止されています。(すべての順列または次の順列を生成するビルトインが許可されます。) 標準のコードゴルフ規則が適用されます。 例 以下の例は0から始まります。 Input Output 0 0 1 1 2 2 3 4 4 3 5 5 6 6 13 10 42 51 100 41 1000 3628 2000 …
17 code-golf  combinatorics  permutations  code-golf  image-processing  brainfuck  encode  steganography  code-golf  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  fibonacci  code-golf  string  code-golf  sorting  popularity-contest  statistics  code-golf  ascii-art  kolmogorov-complexity  code-golf  code-golf  ascii-art  tic-tac-toe  code-golf  string  code-challenge  classification  test-battery  binary-matrix  code-golf  math  arithmetic  code-golf  ascii-art  random  code-golf  string  code-golf  number  binary  bitwise  code-golf  number  arithmetic  code-golf  math  ascii-art  code-golf  string  ascii-art  code-golf  string  ascii-art  code-golf  string  code-golf  counting  code-golf  number  binary  bitwise  decision-problem  code-golf  array-manipulation  code-golf  tips  brain-flak  code-challenge  quine  source-layout  code-generation  code-golf  linear-algebra  matrix  abstract-algebra  binary-matrix  code-golf  string  palindrome  code-golf  puzzle-solver  sudoku  code-golf  ascii-art  code-golf  graphical-output  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  code-golf  clock 

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