プログラミングパズルとコードゴルフ

プログラミング愛好家やコードゴルファーのためのQ&A

30
文字列を分割する方法は?plzを助けますか?(コードトローリング)[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 ロックされています。この質問とその回答はロックされています。なぜなら、質問はトピックから外れていますが、歴史的に重要だからです。現在、新しい回答やインタラクションを受け入れていません。 私の宿題の割り当ては、文字列を取得し、新しい行ごとに分割します。どうすればいいのかわかりません!助けてください! 注:これはコードトローリングの質問です。質問や回答を真剣に受け取らないでください。詳細はこちら。

6
Koch Snowflake-codegolf
コッホ曲線(もコッホスターとコッホの島として知られている)は、数学的な曲線と記載されているために最も初期のフラクタル曲線の一つです。これは、1904年の「接線のない連続曲線上で、基本幾何学から構築可能な」というタイトルのコッホ曲線に基づいています(元のフランスのタイトル:スウェーデンの数学者ヘルゲ・フォン・コッホ。 さまざまな反復のASCII表現を次に示します。 n=1 __ \/ n=2 __/\__ \ / /_ _\ \/ n=3 __/\__ \ / __/\__/ \__/\__ \ / /_ _\ \ / __/ \__ \ / /_ __ __ _\ \/ \ / \/ /_ _\ \/ アスキー表現の解像度には明らかに制限があるため、余分な詳細を表示するには、反復ごとにスノーフレークのサイズを3倍に拡大する必要があります。 n = 4の場合と同じスタイルでスノーフレークを出力する最短のコードを記述します プログラムは何も入力しないでください。 プログラムはスノーフレークをコンソールに書き込む必要があります。

7
解釈> <>(魚)
&gt; &lt;&gt;は人気のある言語ではありませんが、ゴルフに適している可能性があり、このWebサイトで使用されています。Befungeに触発され、その指示にいくつかの類似点があります。 必要なコマンド: &gt; &lt; ^ v 指示ポインターの方向を変更します(右、左、上、下) / \ | _ # ミラー。ポインターは、すでに持っている方向に応じて方向を変えます。 x ランダムな方向。 + - * , % それぞれ、加算、減算、乗算、除算、モジュロ。AとBをスタックからポップし、B演算子Aをプッシュします。0で除算するとエラーが発生します。 0-9 a-f 対応する値をスタックにプッシュします。a = 10、...、f = 15 = スタックからAとBをポップし、B = Aの場合は1をプッシュし、そうでない場合は0をプッシュします。 ) より大きい。AとBをスタックからポップし、B &lt;A ( より小さい場合は1をプッシュします。AとBをスタックからポップし、B&gt; Aの場合は1をプッシュし ' " ます。文字列解析を有効にします。文字列解析は、閉じ引用符が見つかるまで、見つかったすべての文字をスタックにプッシュします。 ! 次の命令をスキップします。 ? スタックのトップがゼロの場合、またはスタックが空の場合、次の命令をスキップします。(注:これはスタックから何もポップしません!)スタック : の一番上の値を複製します。 ~ スタックから一番上の値を削除します。 …

9
遅延リストを、できればよく知らない言語で実装してください[非公開]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 閉じた3年前。 これは、あなたが学習するつもりだったプログラミング言語をより流に習得するための良い演習ですが、ほんの少しだけいじっています。これには、オブジェクトの操作、クロージャーの使用またはシミュレーション、型システムの拡張が含まれます。 あなたのタスクは、遅延リストを管理するコードを記述し、それを使用してフィボナッチ数を生成するためのこのアルゴリズムを実装することです。 コードサンプルはHaskellにあります let fibs = 0 : 1 : zipWith (+) fibs (tail fibs) in take 40 fibs 結果: [0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765,10946,17711,28657,46368,75025,121393,196418,317811,514229,832040,1346269,2178309,3524578,5702887,9227465,14930352,24157817,39088169,63245986] 遅延リストの実装は、次のガイドラインを満たす必要があります。 リストノードは、次の3つのいずれかです。 Nil-空のリスト。 [] 短所-単一のアイテム、残りの項目のリストとペア: 1 : [2,3,4,5] (: Haskellの短所演算子です) サンク-必要なときにListノードを生成する遅延計算。 次の操作をサポートしています。 nil-空のリストを作成します。 cons-コンスセルを構築します。 thunk-引数を取らず、NilまたはConsを返す関数を指定して、Thunkを構築します。 force-リストノードが与えられた場合: NilまたはConsの場合は、単にそれを返します。 サンクの場合、その関数を呼び出してNilまたはConsを取得します。サンクをそのNilまたはConsに置き換えて返します。 注:サンクを強制値に置き換えることは、「遅延」の定義の重要な部分です。このステップをスキップすると、上記のフィボナッチアルゴリズムは非常に遅くなります。 empty-ListノードがNilかどうかを確認します(強制した後)。 head(別名「車」)-リストの最初の項目を取得します(またはNilの場合は適合をスローします)。 …

30
最初はグー、じゃんけん
古典的なじゃんけんを実装します。 条件: ユーザーは「r」、「p」または「s」を入力します プログラムは「r」、「p」または「s」と結果を出力します プログラムの選択( 'r'、 'p'または 's')は擬似ランダムでなければなりません(ハワードを見ています) 結果は、任意の印刷可能な文字で表すことができます。ユーザーが入力したもの(ユーザーが勝ち、負け、または引き分け)の場合、常に3つの結果が考えられます。 ユーザーが何も入力しなかった場合、または「r」、「p」、「s」とは異なる何かが重要でない場合はどうなりますか。 必要がある: ゴルフコードを提供します。 改変されていないコード どのようにプログラムを呼び出しますか サンプル実行 タイが最も多く投票された回答を提示する場合は、文字数の少ない回答を選択します。 良いゴルフと幸運があなたに有利になるかもしれません。 私は自分の答えをJavaで投稿します。 岩の下の山に住んでいる人のために: r =ロック p =紙 s =はさみ 岩:はさみに勝ち、紙で負け、岩と結びます。 紙:岩に勝ち、ハサミで負け、紙でネクタイ。 はさみ:紙に勝ち、岩で負け、はさみでネクタイ。 現在のポジション: UN:ユーザー名 PL:プログラミング言語 CC:文字数 UV:賛成票 ╔══════════════════╦════════════╦══════╦════╗ ║ UN ║ PL ║ CC ║ UV ║ ╠══════════════════╬════════════╬══════╬════╣ ║ Howard ║ GolfScript ║ 6 …
21 code-golf  game 

2
手がかりのないユニークに解けるクロスワードを作成します…
ニューヨークタイムズのクロスワードパズルを手がかりなく解くことを想像できますか?おそらく、すべての創造性と新しいクロスワードに登場する新しい単語やフレーズではなく、単語リストを固定することでいくつかの希望があります。この課題では、理論上可能なクロスワードパズルグリッドを作成します。 チャレンジ 白と黒の陰影の付いた15x15クロスワードパズルグリッド内の白い四角の数を最大化して、白い四角に文字を一意に入力して、スクラブルの国際的な単語リストにすべての上下の単語が表示されるようにします。 グリッド構築の説明 米国の新聞では、クロスワードグリッドは通常、すべての文字が「チェック」されるように構築されます。つまり、「クロス」ワードと「ダウン」ワードの両方の一部です。英国およびその他の地域(特に不可解なクロスワード)では、これは必ずしも当てはまりません。「横切る」または「下」の単語が1文字だけの場合、実際の単語(「A」や「I ")。この課題では、より緩和されたルールに従います。1文字の単語は単語リストに表示する必要はありません。 他にもさまざまな伝統があり(米国およびその他の地域)、この挑戦​​で従う必要はありません。たとえば、単語の長さは2文字のみで、単語の繰り返しが許可されているため、グリッドは(回転)対称である必要はありません。 これも可能ですか? はい!短いスクリプトを記述して、左側の次の空白グリッドに対する一意のソリューションが右側の塗りつぶされたグリッドであることを確認できます。 次のように、コンピュータが読み取り可能な形式で塗りつぶされたグリッドを表示できます。 ###CH########## ###YE########## ###AM########## CYANOCOBALAMINE HEMOCHROMATOSES ###CH########## ###OR########## ###BO########## ###AM########## ###LA########## ###AT########## ###MO########## ###IS########## ###NE########## ###ES########## あなたのソリューション 上のグリッドには、15x15グリッドの合計225個の正方形のうち56個の白い正方形があります。これは、この課題のベースラインとして機能します。また、白い正方形の数が少ないグリッドは、スコア以外の理由で、たとえば上記の美的伝統のいくつかを満たしている場合に興味深いかもしれません。 上記のコンピューター読み取り可能なベースラインと同じ形式でソリューションを送信してください。グリッドに独自のソリューションがあることを確認するコードを含めてください。 興味深いコードスニペット(たとえば、可能性のあるスペースを検索するため)や、グリッドを見つけた方法についての議論を歓迎します。 単語リスト 国際的なスクラブルワードリストは、以前はSOWPODSとして知られており、現在はコリンズスクラブルワード(CSW)と呼ばれています。ほとんどの国(特に米国を除く)で使用されています。このリストには、英国の綴りが含まれており、一般的にアメリカの単語リストよりもかなり多くの単語があるため、このリストを使用することを好みます。このリストには、わずかに異なる複数のエディションがあります。このリストのさまざまなバージョンは、Wikipedia、Github、Peter NorvigのNatural Language Corpusなどでリンクされており、多くの場合「SOWPODS」と呼ばれています。 この課題は、単語リストの選択の幅広い性質に非常に敏感ですが、小さな詳細にはそれほど敏感ではありません。たとえば、上記のベースラインの例はどのエディションのCSWでも機能しますCHが、アメリカのスクラブルの単語リストには含まれていません。矛盾がある場合は、CSWの最新版であるCSW19を使用することをお勧めします。(今年リリースされたこのリストを使用すると、この課題に対する回答がより長く有効であると期待できます)。このリストは、公式のScrabbleワードファインダーサイトで対話形式でクエリするか、Board&Card Games Stack ExchangeまたはRedditのr / scrabbleから(前のバージョンのCSW15と同様に)ダウンロードできます。 Tldr:このチャレンジの信頼できる単語リストは、Board&Card Games Stack Exchangeでプレーンテキストファイル(279,496単語、1行に1つ)として入手できます。 さらなる議論 初期の回答とコメントで提起された問題の1つは、既存のクロスワード(NYTなど)がこの質問に答えない理由です。具体的には、公開されたNYTクロスワードの最小数の黒い正方形(したがって、最大数の白い正方形)のレコードは、クロスワードで最も有名なレコードです。レコードグリッドを使用できないのはなぜですか?いくつかの問題があります。 NYTクロスワードの回答の多くは、単語リストに載っていません。たとえば、レコードグリッドには、PEPCID(ブランド名)、APASSAGETOINDIA(スペースなしで記述された映画と小説の4単語の固有名)、およびSTE(「Sainte」の略語)が含まれます。レコードグリッドはスクラブルの単語では解決できないようです。 単語リストを拡張して単語を追加するだけでは、必ずしもこの課題に役立ちません。レコードグリッド内のすべての単語が単語リストに表示されたとしても、解決策は手がかりがないと一意ではありません。多くの場合、すべての単語を保持しながら、回答の最後にある文字を変更することが可能です。(たとえば、右下の文字はa DからR。に変更できます。)実際、これは、クロスワードを作成して「より良い」単語を取得しようとする(人間の)構築プロセスの一部です。 通常のクロスワードが(通常)独自の解決策を持っている理由は、手がかりが正しい答えを絞り込むのに役立つからです。手がかりを使わずに単にグリッドを単語で埋めようとすると、可能性がないか、多くの可能性がある可能性があります。同じグリッド(NYTで比較的頻繁に使用されるもの)の3つの異なる塗りつぶし(このチャレンジの単語リストを使用)の例を次に示します。 …

24
文字列のFizz-Buzzify
小文字と大文字の両方の英字(ASCII 65-90および97-122)の文字のみを含む文字列が与えられます。あなたの仕事は、文字列のFizz-Buzzifiedバージョンを出力することです。 文字列をFizz-Buzzifyする方法は? 英語のアルファベットに偶数のインデックスがあるアルファベット(アルファベットは 1から始まる必要があります:)は、小文字の場合と大文字の場合()a-&gt;1,b-&gt;2,...,z-&gt;26に変換されます。fizzFIZZf -&gt; fizz, F -&gt; FIZZ 英語のアルファベットに奇数のインデックスがある各文字は、buzz小文字のBUZZ場合と大文字の場合(e -&gt; buzz, E -&gt; BUZZ)に変換されます。 文字列CodeGolf(わかりやすくするためにスペースを追加)を使用して、アルゴリズムを説明する例を示します。 "C o d e G o l f" -&gt; "BUZZ buzz fizz buzz BUZZ buzz fizz fizz" ^ ^ ^ ^ ^ ^ ^ ^ 1 1 0 1 1 1 0 0 …
21 code-golf  string 

26
A、またはAn?
英語では、andとの間には楽しく簡単な違いがanありaます。an母音で始まる単語の前aと、子音で始まる単語を使用するときに使用します。 この課題を簡単にするためにan、母音(aeiou)でa始まる単語の前に、子音で始まる単語の前に置きます。 入力 印刷可能なASCII文字のみで構成される文字列。[?]挿入anまたはを選択する必要がある場所に表示されますa。[?]常に単語の前に表示されます。文は文法的に正しく、通常のようにフォーマットされると想定できます。 出力 [?]適切な単語(anまたはa)に置き換えられた入力文字列。大文字の使用について心配する必要はありません! 大文字にするタイミング 単語の前に文字がない(入力の最初の単語)場合、または単語の前に.?!スペースが続く場合は、単語を大文字にします。 例 Input: Hello, this is [?] world! Output: Hello, this is a world! Input: How about we build [?] big building. It will have [?] orange banana hanging out of [?] window. Output: How about we build a big building. It will …

6
ASCII接続の六角形
概要 多数の六角形が与えられたら、それらを50 x 50のASCIIアートイメージの範囲内で接続された形状に配置します。選択する形状は、接続されている限り、ゴルフに最も適していると思うものであれば何でもかまいません。1つの六角形よりも大きい場合は、穴が開いている場合があります(そうでない場合、六角形の数があいまいになります)。 レイアウト すべての六角形は次の形式である必要があります(このサイズと向きのみが有効です)。 __ / \ \__/ Note there are 2 underscores per horizontal edge. 2つの六角形がエッジを共有する場合、それらは直接接続されます。 __ __ / \__ / \ \__/ \ \__/ \__/ or / \ \__/ 2つの六角形は、頂点のみを共有している場合、接続されていません。 __ __ / \/ \ \__/\__/ エッジの半分を共有することも、接続されているとは見なされません。 __ / \ \__/ / \ \__/ 直接接続された六角形のみを使用して、六角形から他の任意の六角形へのパスが存在する場合、六角形のコレクションが接続されます。 穴 …

14
Semordnilapsを見つける
Semordnilaps(ヘテロパリンドローム、セミパリンドローム、ハーフパリンドローム、リバーズグラム、マイノリーテス、リバーシブルアナグラム、ワードリバーサル、またはアナドロームとも呼ばれる)は、逆スペルの場合もワードです。以下に例を示します。 区&lt;=&gt;引き分け マイニング&lt;=&gt;デニム パーツ&lt;=&gt;ストラップ (関数の引数またはSTDINを介して)正の整数Nが与えられると、この英語の単語のリストから、正確にN文字のsemordnilapsのリストを返す/出力します。単語のリストは、次の名前のテキストファイルとしてコンピューターにローカルに保存できますw.txt。URLからリストを取得することもできますが、バイトカウントに含まれます。 ルール: 回文はsemordnilapsではありません!したがって、「正午」、「ローター」、および「レーダー」という単語はリストに含めないでください。 (semordnilapペアの)単語の1つだけをリストに含める必要があります。したがって、「犬」がリストに含まれている場合、「神」は含まれません(どちらが含まれているかは関係ありません)。 semordnilapsがない場合、出力は空の文字列、0、FALSE、または結果がなかったことを示す他のものでなければなりません。結果がなくても、関数は機能する必要があります。 これはコードゴルフなので、バイト単位の最短コードが勝ちです! リーダーボード この投稿の下部にあるスタックスニペットは、a)言語ごとの最短ソリューションのリストとして、b)全体的なリーダーボードとして、回答からカタログを生成します。 回答が表示されるようにするには、次のマークダウンテンプレートを使用して、見出しから回答を開始してください。 ## Language Name, N bytes N提出物のサイズはどこですか。スコアを改善する場合、古いスコアを打つことで見出しに残すことができます。例えば: ## Ruby, &lt;s&gt;104&lt;/s&gt; &lt;s&gt;101&lt;/s&gt; 96 bytes ヘッダーに複数の数字を含める場合(たとえば、スコアが2つのファイルの合計であるか、インタープリターフラグペナルティーを個別にリストする場合)、実際のスコアがヘッダーの最後の数字であることを確認します。 ## Perl, 43 + 2 (-p flag) = 45 bytes 言語名をリンクにして、スニペットに表示することもできます。 ## [&gt;&lt;&gt;](http://esolangs.org/wiki/Fish), 121 bytes コードスニペットを表示 var QUESTION_ID=42090,OVERRIDE_USER=44713;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&amp;pagesize=100&amp;order=desc&amp;sort=creation&amp;site=codegolf&amp;filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&amp;&amp;answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return …
21 code-golf 

20
特定の年の各月の最後の日曜日を見つける
140文字内で既知のF#ソリューション。これはRosetta Codeの問題です。 入力年のstdoutまたは文字列変数に必要な結果2014: 2014-01-26 2014-02-23 2014-03-30 2014-04-27 2014-05-25 2014-06-29 2014-07-27 2014-08-31 2014-09-28 2014-10-26 2014-11-30 2014-12-28 要求されたように、1900の場合: 1900-01-28 1900-02-25 1900-03-25 1900-04-29 1900-05-27 1900-06-24 1900-07-29 1900-08-26 1900-09-30 1900-10-28 1900-11-25 1900-12-30 そして2000: 2000-01-30 2000-02-27 2000-03-26 2000-04-30 2000-05-28 2000-06-25 2000-07-30 2000-08-27 2000-09-24 2000-10-29 2000-11-26 2000-12-31 日付はほとんどの言語で不器用さをもたらすように見えるので構いません。日付ライブラリを許可する以上に、それらを参照してください!ただし、ベース言語の外部の場合は、投稿の名前で宣言します(C#+ Jon SkeetのNodaTimeなど)。 明確化: 年の範囲1900〜3015 グレゴリオ暦 それ以外に問題がある場合は、英国/ロンドンにとって慣習的なものは何でも。 コマンドラインスイッチまたは標準入力を使用するプログラムは正常であり、標準出力に結果を生成します。 年の値を取得して文字列を返す関数も問題ありません。 …
21 code-golf  date 

8
JavaでIllegalArgumentExceptionをスローする最短コード
オーケー、私たちは皆、JavaでIllegalArgumentExceptionをスローする通常の方法を知っています。 throw new IllegalArgumentException(); // 37 characters ただし、より短い(文字数の少ない)方法が必要です。さらに少ないコードでjava.lang.IllegalArgumentExceptionを生成するにはどうすればよいですか? コードフラグメントは、java 7でコンパイルおよび実行する必要があります。 インポート/外部パッケージなし(例:を使用しないjava.util.Arrays.toString()) 唯一の例外:java.langは自動的にインポートされるためです。 独自のメソッド/クラスを追加できます。 java.lang.IllegalArgumentExceptionをスローする必要があります 編集:エラー出力(stacktrace)はjava.lang.IllegalArgumentExceptionと命名する必要があるため、サブクラスはありません。 開始するベースを持つには: class Titled { public static void main(String[] args) { throw new IllegalArgumentException(); } }
21 code-golf  java 

25
Code-Golf:順列
整数のセット(リスト、配列、または個別の番号を持つ他のコンテナ)を入力として受け取り、すべての順列のリストを出力する関数を作成します。 Python(95文字): p=lambda s:s and sum(map(lambda e:map(lambda p:[e]+p,p(filter(lambda x:x!=e,s))),s),[]) or [[]] 同じ言語でbeatられたらいいのですが、他の言語での実装は大歓迎です!

23
インデックスからExcel列名を生成
これは実生活の問題から来ています。もちろん、それを解決しましたが、もっとうまくできたような気がし続けます。それは長すぎて回り道の解決策だと。しかし、私の同僚は誰もそれをより簡潔に書く方法を考えられません。したがって、私はそれをコードゴルフとして提示します。 目標は、Excelが列ヘッダーを表示するのと同じ方法で、負でない整数を文字列に変換することです。したがって: 0 -&gt; A 1 -&gt; B ... 25 -&gt; Z 26 -&gt; AA 27 -&gt; AB ... 51 -&gt; AZ 52 -&gt; BA ... 16,383 -&gt; XFD それは仕事にあり、少なくとも 16,383まで、しかし超えても(ノーボーナスポイントが)可能です。私はC#ソリューションを最も楽しみにしていますが、コードゴルフの伝統に従って、実際のプログラミング言語はすべて歓迎します。

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 ファイルは次の形式になります。 &lt;num_puzzles&gt; &lt;unsolved_puzzle#1&gt;,&lt;solved_puzzle#1&gt; …

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