タグ付けされた質問 「sudoku」

この課題は、数独パズルの解決、作成、またはその他の方法での作業に直接関連しています。

7
Regex Golf:数独ソリューションの検証
有効な数独ソリューションに一致し、無効な数独ソリューションに一致しない正規表現を記述します。入力は、数独の展開バージョンです。つまり、行区切り記号はありません。たとえば、次のボード: 7 2 5 8 9 3 4 6 1 8 4 1 6 5 7 3 9 2 3 9 6 1 4 2 7 5 8 4 7 3 5 1 6 8 2 9 1 6 8 4 2 9 5 3 7 9 5 2 3 …

14
数独圧縮
あなたの仕事は、次のような言語でプログラム(または2つの別個のプログラム)を書くことです。 完成した数独ボードを入力(任意の論理形式)として受け取り、文字列に圧縮できます。 圧縮された文字列を入力として使用し、解凍してまったく同じ完成した数独ボードを取得できます(9行の論理形式で出力) 注:数独のルールを活用してください。それがこの挑戦の背後にある考え方です。 ウィキペディアの数独ルール ルール 圧縮出力では、印刷可能なASCII文字(32-126)のみが許可されます(マルチバイト文字なしなど)。 入力は有効な3x3数独ボード(通常のルール、バリエーションなし)であると想定できます。 私は時間制限を課しませんが、ブルートフォースアルゴリズムを作成しません。または、投稿者は投稿する前に投稿をテストできる必要があります(Jan Dvorakに感謝)。 質問や懸念がある場合は、説明を求めたり、コメントで提案を行ったりできます。 勝利条件 スコア= 10個すべてのテストケースの文字数の合計 最低スコアが勝ちます。 テストケース これらを使用して、プログラムの動作をテストできます。 9 7 3 5 8 1 4 2 6 5 2 6 4 7 3 1 9 8 1 8 4 2 9 6 7 5 3 2 4 7 8 6 5 …


25
数独ボードを出力する
今日の課題は簡単です。入力を行わずに、有効な数独ボードを出力します。 あなたが数独に不慣れな場合、ウィキペディアは有効なボードがどのように見えるべきかを説明しています: 目的は、グリッドを構成する各列、各行、および9つの3×3サブグリッド(「ボックス」、「ブロック」、または「リージョン」とも呼ばれる)のそれぞれに、 1から9までのすべての数字。 さあ、ここに… 6,670,903,752,021,072,936,960の異なる有効な数独ボードがあります。それらのいくつかは、圧縮して、より少ないバイトで出力するのが非常に難しいかもしれません。他の方が簡単かもしれません。この課題の一部は、どのボードが最も圧縮性が高く、最小バイトで出力できるかを把握することです。 提出するたびに毎回同じ掲示板を出力する必要はありません。ただし、複数の出力が可能な場合は、可能なすべての出力が有効なボードであることを証明する必要があります。 あなたは使うことができ、このスクリプト(マジックタコ壺のおかげで)、またはこれらの答えのいずれかを特定のグリッドが有効なソリューションであるかどうかを検証します。[1]有効なボードの場合はを出力し、無効なボードの場合はその他を出力します。 回答が明らかに2次元である限り、どの形式で回答を出力するかについてはあまり気にしません。たとえば、9x9行列、9個の3x3行列、文字列、文字列の配列、9桁の整数の配列、またはセパレータ付きの9つの9桁の数字を出力できます。1次元で81桁を出力することは許可されません。特定の出力形式について知りたい場合は、コメントでお気軽にお問い合わせください。 いつものように、これはcode-golfなので、選択した言語で思い付くことができる最短の答えを書いてください!

10
最短の一意に識別する部分文字列
文字列のリストが与えられたら、各文字列を、空でない部分文字列の1つで置き換えます。これは、リスト内の他の文字列の部分文字列ではなく、できるだけ短くします。 例 リストを考えると["hello","hallo","hola"]、"hello"ただで置き換える必要があり"e"、この部分文字列がに含まれていないとして、"hallo"そして"hola"、それはできるだけ短くしています。"hallo"いずれかで置き換えることができる"ha"か、"al"と"hola"のいずれかによって"ho"、"ol"または"la"。 ルール 文字列は空ではなく、同じ大文字と小文字のアルファベットのみを含むと想定できます。 このような部分文字列はリスト内の各文字列に存在すると仮定できます。つまり、リスト内の文字列は他の文字列の部分文字列にはなりません。 入力と出力は任意の合理的な形式にすることができます。 これはcode-golfなので、選択した言語でできるだけ少ないバイトを使用するようにしてください。 テストケース ほとんどの場合、可能な出力は1つだけです。 ["ppcg"] -> ["p"] (or ["c"] or ["g"]) ["hello","hallo","hola"] -> ["e","ha","ho"] ["abc","bca","bac"] -> ["ab","ca","ba"] ["abc","abd","dbc"] -> ["abc","bd","db"] ["lorem","ipsum","dolor","sit","amet"] -> ["re","p","d","si","a"] ["abc","acb","bac","bca","cab","cba"] -> ["abc","acb","bac","bca","cab","cba"] 関連:最短識別サブストリング -同様のアイデアですが、より複雑なルールと扱いにくい形式です。
23 code-golf  string  code-golf  string  code-golf  array-manipulation  code-golf  quine  code-golf  array-manipulation  integer  matrix  classification  code-golf  quine  code-golf  string  matrix  conversion  code-golf  string  number  code-golf  string  code-golf  number  sequence  integer  code-golf  decision-problem  matrix  code-golf  string  code-golf  math  code-golf  math  array-manipulation  combinatorics  code-golf  random  code-golf  code-golf  alphabet  code-golf  python  c  code-golf  base-conversion  code-golf  string  counting  code-challenge  code-generation  fastest-code  code-golf  kolmogorov-complexity  matrix  code-golf  string  code-golf  array-manipulation  decision-problem  random  sudoku  code-golf  chess  code-golf  card-games  encode  code-golf  decision-problem  code-golf  code-golf  math  array-manipulation  matrix 

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 

20
数独ソリューションチェッカーを作成する
数独ソリューションチェッカーを作成する ここには数独ソルバーの大群がありますが、私はあなたにできる限り小さなソリューションチェッカー(コードゴルフ)を作成してほしいです。 有効なエントリは、引数として9x9配列(コマンドラインでシリアル化された参照で渡される、または任意に取得する)として受け取るか、最終グリッド用の9行の9行の入力ファイルを受け入れることができます。 。以下の入力例を参照してください。 有効な入力は10進数(1〜9)でなければなりません 欠落している、空の、余分な、数値以外の位置、または1〜9以外の数値を持つ位置は、ゼロ以外の結果を返すか、エラーを出力するか、またはその両方によって無効な入力として拒否されます。 プログラムは、各数値が列ごとに1回、行ごとに1回、3x3サブグリッドごとに1回表示されるかどうかをテストする必要があります。合格した場合は「0」を返し、そうでない場合はゼロ以外の結果を返します。 外部リソース(ウェブサイトなど)の使用は避けてください。 ソリューションがスタンドアロンプ​​ログラムである場合、終了ステータスが「0」であるか「Pass」または「Fail」でゼロ以外である場合は、終了しても問題ありません。 最小の答えを当てましょう! 入力例: c配列: int input[9][9]={{1,2,3,4,5,6,7,8,9}, {4,5,6,7,8,9,1,2,3}, {7,8,9,1,2,3,4,5,6}, {2,3,1,5,6,4,8,9,7}, {5,6,4,8,9,7,2,3,1}, {8,9,7,2,3,1,5,6,4}, {3,1,2,6,4,5,9,7,8}, {6,4,5,9,7,8,3,1,2}, {9,7,8,3,1,2,6,4,5} }; ファイル: 123456789 456789123 789123456 231564897 564897231 897231564 312645978 645978312 978312645 9つのサブグリッド: +---+---+---+ |123|456|789| |456|789|123| |789|123|456| +---+---+---+ |231|564|897| |564|897|231| |897|231|564| +---+---+---+ |312|645|978| |645|978|312| |978|312|645| +---+---+---+

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> …

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
ユニークな数独ファインダー
チャレンジ: 標準入力の数独ボードを使用して、ボードを一意にするために追加される最小数を見つけます。 詳細/ルール: 入力は次のようにフォーマットされます(すべての空白が重要です) 516|827|943 278|394|615 349|615|872 ---+---+--- 98 |4 2|156 465|189|237 12 |5 6|489 ---+---+--- 892|743|561 634|951|728 751|268|394 出力は、行ごとに1つの数値でフォーマットされます(x,y):z。xおよびyは、左上の1から始まり、右下に向かって増加します。zは追加する番号です。 この場合、これらはすべての有効な出力を次のようになります(3,4):3、(3,4):7、(5,4):3、(5,4):7、(3,6):3、(3,6):7、(5,6):3、および(5,6):7、これらのいずれかがボードを解決することができるようになると。 一意/解決された数独ボードが入力された場合、プログラムは改行を含めて何も印刷しません。 プログラムは、どのボードでも1時間以内に実行する必要があります(完全にブランクのボード、または1つのランダムな番号のボードを使用してテストすることをお勧めします...)。 得点: すべての空白を含めて、文字で合計(ゴルフ)コードサイズを取得します ... ボーナス: 1/2コードサイズ:プログラムが単一の感嘆符を出力し、解答が入力されていないボードがあると停止します。 1/2コードサイズ:プログラムが2つの感嘆符を印刷し、内部矛盾(同じ行/列/正方形で同じ2つの数字)が入力されたボードがあると停止する場合。
19 code-golf  game  sudoku 

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 

3
文字列内のパターンを検索
この挑戦では、あなたの仕事は、与えられた構造を持つ部分文字列を見つけることです。 入力 入力は、空ではない2つの英数字文字列、パターン p、およびテキスト tです。の考え方は、の各文字がp連続して空でない部分文字列を表し、その部分文字列tが隣り合って出現し、pそれらの連結を表すことです。同一の文字は同一の部分文字列に対応します。たとえば、パターンaaは空でない正方形(短い文字列をそれ自体に連結することによって取得される文字列)を表します。したがって、パターンaaは部分文字列byebyeとa一致し、それぞれ一致しbyeます。 出力 テキストtにp一致する部分文字列が含まれている場合、出力はその部分文字列になり、の文字に:対応する文字列の間にコロンが挿入されますp。例えば、我々が持っている場合t = byebyenowとp = aa、その後、bye:bye許容出力されます。一致する部分文字列にはいくつかの選択肢がありますが、そのうちの1つだけを出力します。 t一致する部分文字列が含まれていない場合、出力は悲しい顔になり:(ます。 規則と説明 の異なる文字はp同一の部分文字列に対応できるためp = aba、文字列と一致できますAAA。文字は空でない文字列に対応する必要があることに注意してください。特に、pがより長い場合t、出力はでなければなりません:(。 完全なプログラムまたは関数を記述できます。また、2つの入力の順序を変更することもできます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース 形式で与えられますpattern text -> output。他の受け入れ可能な出力が存在する可能性があることに注意してください。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

1
数独王のツアーを最大化する
バックグラウンド 数独は、所定数のパズルであるn × nn×n n \times n のグリッドサイズのボックスに分割し、の各番号のそれぞれの行、列、およびボックスに正確に一度だけ表示されます。nn n 11 1 nn n チェスのゲームでは、王は順番に(最大で)8つの隣接するセルのいずれかに移動できます。ここでの「隣接」とは、水平方向、垂直方向、または斜めに隣接することを意味します。 王のツアーは、ナイト・ツアーのアナロジーです。それはチェスキングの動きで与えられたボード上のすべてのセルを一度だけ訪れる(おそらく開いている)パスです。 仕事 6行6列の数独グリッドを考えてみましょう。 654 | 321 123 | 654 ----+---- 462 | 135 315 | 246 ----+---- 536 | 412 241 | 563 王様のツアー(01〜36): 01 02 03 | 34 35 36 31 32 33 | 04 …

4
最小限の手がかりの数独アンソルバーを構築する
この質問を述べようとする私の試みですが、より客観的な解決基準があります。 あなたのタスクはS、選択したフォーマットで解決された数独グリッドを取得Sし、独自のソリューションとして可能な限り少ない手がかりで問題グリッドを生成しようとするプログラムまたは関数を構築することです。(Sソリューションが一意であることが証明されている限り、ブルートフォースを含め、どのメソッドが一意のソリューションであるかは関係ありません。) プログラムは、このファイルにある100,000のソリューショングリッドのセット(7.82 MBのダウンロード)で実行し、ソリューションが生成するすべての100,000の問題グリッドの手がかりの数を合計することでスコア付けされます。 上記のテストファイルの数独ソリューションは、左から右、上から下の81文字の文字列として表されます。テストファイルの入力を使用可能なソリューションに変換するために必要なコードは、ソリューションのバイトカウントにはカウントされません。 私のFlood Paintチャレンジのように、プログラムは、有効なソリューションと見なされるために、100,000個のパズルすべてに対して有効な出力を実際に生成する必要があります。すべての100,000個のテストケースについて最も少ない合計手がかりを出力するプログラムが勝者であり、短いコードが同点になります。 現在のスコアボード: 2,361,024 -nutki、C 2,580,210 -es1024、PHP 6,000,000 -CarpetPython、Python 2 7,200,000 -Joe Z.、Python

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