タグ付けされた質問 「code-challenge」

コードチャレンジは、他のスコアリングタグ(コードゴルフなど)ではカバーされない客観的な勝ち基準でプログラミングパズルを解くクリエイティブな方法の競争です。

30
プログラムのASCIIコードの合計を印刷するプログラムを書く
タスクは、プログラム自体の文字のASCIIコードの合計を印刷するプログラムを作成することです。ファイルを開くことはできません(コマンドライン引数、標準入力、ファイルなどの入力は禁止されています)。 最小の数字を出力する(つまり、ASCIIコードの合計が最小の)プログラムが勝ちます。 Cで書かれたこのようなプログラムの例(最短ではありません)は次のとおりです。 #include <stdio.h> int main(){ printf("4950");/*i*/ return 0; } (後に改行なし})

7
最小限の一意の文字を使用して整数のラダーを生成します(C ++)
私はコードゴルフのスポーツは初めてです。C ++で一意の文字の最小数を使用して整数のはしごを生成しようとしています。 整数4が与えられたとしましょう。 次のラダーを生成します。 1 1 2 1 2 3 1 2 3 4 要するに、私のプログラムはstdinから正の整数を読み取り、このラダーを出力に出力します。できる限り少ない数の一意の文字でこれを実行しようとしています。 私のプログラムは次のとおりです。 #include<iostream> int i; int ii; int iii; int iiii; main() { std::cin >> i; for(ii++; ii <= i; ii++) { int iii = iiii; for(iii++; iii <= ii; iii++) { std::cout << iii << …

15
論理ゲートを手動で
基本的な論理ゲートをシミュレートするプログラムを作成します。 入力:スペースなどで区切られた、2つの1桁の2進数が続く、すべて大文字の単語OR 1 0。門OR、AND、NOR、NAND、XOR、およびXNOR必要とされています。 出力:入力された論理ゲートの出力には、1または0の2つの数値が与えられます。 例: AND 1 0なります0 XOR 0 1なり1 OR 1 1ます1 NAND 1 1なります0 これはcodegolfなので、最短のコードが優先されます。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

30
プライムパワーからプライムを回復する
定義:素数はp nの形式で表現できる自然数です。pは素数で、nは自然数です。 タスク:プライムパワーp n > 1の場合、プライムpを返します。 テストケース: input output 9 3 16 2 343 7 2687 2687 59049 3 得点:これはcode-golfです。バイト単位の最短回答が優先されます。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

6
Brain-Flakへのテキスト
あなたの課題は、入力テキストを、テキストを出力するBrain-Flakコードに変換することです。 ここから許可を得てここから取られたチュートリアル Brain-Flakには、「左」と「右」として知られる2つのスタックがあります。アクティブなスタックは左から始まります。空のスタックがポップされると、0が返されます。それだけです。他の変数はありません。プログラムが起動すると、各コマンドライン引数がアクティブスタックにプッシュされます。 Brain-Flakプログラムで有効な文字はのみ()[]{}<>であり、常にバランスが取れている必要があります。関数にはNiladsとMonadsの 2種類があります。niladは 0の引数をとる関数です。すべてのniladsは次のとおりです。 () 1に評価します。 [] 現在のスタックの高さを評価します。 {}アクティブなスタックをポップします。ポップされた値を評価します。 <>アクティブなスタックを切り替えます。ゼロに評価します。 これらは評価されるときに連結されます。したがって、アクティブスタックの上に「3」がある場合、このスニペットは次のとおりです。 ()(){} するために評価されます1 + 1 + active.pop()5と評価されることになります。 モナドは1つの引数、Brain-Flakコードの塊を取ります。すべてのモナドは次のとおりです。 (n) アクティブなスタックで「n」を押します。 [n] 負の「n」に評価します {foo} スタックの先頭にゼロはありませんが、fooを実行してください。 <foo> fooを実行しますが、0として評価します。 これらの関数は、内部の値も返すため、 (()()()) 3をプッシュしますが、 ((()()())) 3を2回押します。 {}すべてのランの合計に評価します。したがって、スタックの一番上に「3」と「4」がある場合: {{}} 7と評価されます。 プログラムの実行が完了すると、アクティブなスタックに残っている各値が改行を挟んで印刷されます。他のスタックの値は無視されます。 ルール Brain-Flakはascii outで実行されていると仮定できます。(-A) brain-flakコードは入力を要求してはいけません すべての標準ルールが適用されます TIOで最大1024バイトの入力がある場合、コードは1分以内に実行する必要があります。(TIO出力が利用できない場合、インタープリターを提供し、マシンで実行します(マシンはTIOに近づくことができるはずです))。 任意の長さの入力をサポートする必要があります。 ファイルから入力を取得できます。 テストケースの最適化は許可されていません 確定的な出力が必要です プログラムはスタッククリーンである必要はありません テストケース(これらのコードを試してください。実際のスコアテキストは、チャレンジが投稿されてから1〜2週間後にリリースされます) ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz …

2
あなたの死をかわす!
前書き 「ムフハハハハ!」マッドサイエンティストは笑います。「あなたは私の小さなゲームに閉じ込められています!」 あなたの前には死の蛇の穴があり、あなたの後ろには底のない割れ目があります。抜け道はありません、あなたは立ち往生しています! 「あなたの前の2つのステップは蛇の穴であり、あなたの後ろの2つのステップは割れ目です。しかし!移動する前に、前後の一連のステップを書き留め、私にそれらを与えなければなりません。しかし! 「Mビット感じ悪を今日、私はあなたの代わりにすべてのステップを取ることができます、すべてのn番目のステップは、どこnあなたの配列の長さよりも小さいです! 今、賢明に選択してください。」 あなたの差し迫った死の前にあなたがとることができる最大のステップ数は何ですか? 仕事 上記のイントロは、最近、真実であることが証明されたエルドの不一致推測のひねりです(これについて詳しく知りたい場合は、James Grimeによるこのビデオを参照してください-私は彼からひねりの質問を「盗みました」)。 イントロへの答えは11手順ですが、私は証拠を詳しく説明しません。あなたと2つの「危険」との間の距離が3歩数である場合の答えは1160歩数ですが、それはまだ適切に検証されていません。 あなたの仕事は、あなたが達成できるステップの最長シーケンスを生成するプログラムを作成することですx。ここxで、あなたと2つの「危険」の間のステップ数です。プログラムはの入力を受け取り、xそのための有効なシーケンスを出力する必要がありますx。 この課題のために+、一歩前進を-表し、一歩後退を表します。 したがって、入力の出力2は次のとおりです。 +--+-++--++ nマッドサイエンティストが何を選んでも、それはうまくいきます。私たちの挑戦のために、x = 5。 注:このチャレンジは、このチャレンジやこのチャレンジのだまされたものではありません。私のチャレンジは、コードそのものではなく、出力に焦点を当てているためです。つまり、コードゴルフチャレンジではありません。それに加えて、これらの課題はに基づいx = 3ており、既に上限が設定されています。 ルール: プログラム全体が回答に収まるはずです。ただし、収まらない場合は、追加のGithubリポジトリなどを提供してください。 コードを最適化することでより良いスコアを取得できる場合は、回答とプログラムの両方を更新できますが、そうすることで、以下のリストのすべてを更新する必要があります。 あなたの答えでは、あなたが持っている必要があります: プログラム全体、またはコードをホストするGHリポジトリへのリンク 生成されるステップの量- これが最終スコアになります。 また、ペーストビンまたは類似のものでシーケンスのオンラインバージョンを提供する必要があります。これはあなたの答えを確認できるようにするためです。 最終スコアが最後に更新された時間なので、履歴を確認する必要はありません シーケンスを事前にハードコーディングすることはできません。 あなたのプログラムはすべてのために働く必要がありますx(ここでxあなたとピットとキャズムの間のステップ数です)が、あなただけのスコアを提供する必要がありますx = 5。 最大スコアの答えが勝ちます!

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 

4
ゲッターをゲット
タスク 私は誰もが自動コード生成と仕事中の時間の節約を愛していると思います。日中は多くのクラスとメンバーを作成するgetters必要があり、それらすべてを手動で作成する必要はありません。 タスクはgetters、すべてのクラスメンバーに対して自動的に生成されるプログラムまたは関数を作成することです。 入力 私たちの言語では、オブジェクトは非常に単純です。クラスおよびメンバーの名前は、文字から始まる必要[a-zA-Z]があり、文字のみを含めることができます[a-zA-Z0-9]。以下に例を示します。 class Stack { public overflow; protected trace; private errorReport; } 出力 これは、指定された例に基づいた有効な出力です。 class Stack { public overflow; protected trace; private errorReport; public function getOverflow() { return this->overflow; } public function getTrace() { return this->trace; } public function getErrorReport() { return this->errorReport; } } ゲッター getterメソッドの要件は次のとおりです。 …
13 code-golf  string  syntax  code-golf  math  primes  rational-numbers  code-golf  graphical-output  image-processing  code-golf  kolmogorov-complexity  music  audio  code-golf  string  code-golf  math  geometry  code-golf  math  sequence  combinatorics  code-golf  game  grid  board-game  code-golf  restricted-source  array-manipulation  source-layout  code-golf  base-conversion  binary  code-golf  math  physics  code-golf  math  number  date  expression-building  code-golf  array-manipulation  graph-theory  decision-problem  popularity-contest  error-correction  code-golf  kolmogorov-complexity  geometry  grid  code-challenge  arithmetic  combinatorics  set-partitions  code-golf  kolmogorov-complexity  sequence  fibonacci  code-golf  restricted-source  pristine-programming  code-golf  code-golf  string  kolmogorov-complexity  code-golf  arithmetic  code-golf  string  parsing  code-golf  code-golf  sorting  counting  permutations  3d  code-golf  code-golf  ascii-art  music  code-golf  string  code-golf  string  ascii-art  code-golf  string  code-golf  quine  polyglot  code-golf  math  string  code-golf  internet 

11
プログラムを印刷するプログラム
チャレンジ あなたの目標は、別のプログラムを印刷するプログラムを書くことです。その印刷されたプログラムは別のプログラムを印刷し、新しいプログラムは最後まで別のプログラムを印刷する必要があります。 ルール 各プログラムは256バイト未満でなければなりません。(これを変更する必要がある場合は、コメントを残してください) 最後のプログラムは空のプログラムでなければなりません。 プログラムの数は有限である必要があるため、プログラムはクインになることはできません。 プログラムはすべて同じ言語で実行する必要があります。 入力は許可されていません。 勝者プログラムは、可能な限り多くのプログラムを印刷し、それ自体をカウントするプログラムです。 幸運を!

6
決定要因の最適化の課題
30 x 30のテプリッツを検討する エントリがすべて0または1である行列をます。この課題は、可能な最大の行列式を持つ行列を見つけるための単純な最適化課題です。 入力なし 出力すべてのエントリが行列式とともに0または1である30 x 30のテプリッツ行列をます。 スコア出力する行列の行列式。2人が同じスコアを獲得した場合、最初の答えが勝ちです。 これまでの主要なエントリー Matlabで 65,455,857,159,975Nick Algerによる(およそ(10 ^ 13.8) Pythonの 65,455,857,159,975 65,455,857,159,975(約10 ^ 13.8) Mathematicaの 39,994,961,721,988で39,994,961,721,988(約10 ^ 13.6) 39,788,537,400,052 in R by Flounderer(おおよそ10 ^ 13.6) Vioz-によるPythonの 8,363,855,075,832(約10 ^ 12.9) アレックスAによるジュリアの 6,984,314,690,903 (約10 ^ 12.8) 迷惑な追加の制約2015年7月16日 可能な場合は、任意のまたは高精度の算術を使用して最終出力の決定要因を計算し、実際に何であるかを確認できるようにしてください(常に整数である必要があります)。Pythonでは、これが役立つはずです。

1
テトリスタングラム
前書き タングラムは、ブロックをさまざまな形に配置/適合させる古典的なパズルです。中国の七巧板から-文字通り「7つのスキルボード」を意味します。このアイデアを活用して、7つのテトロミノスのピースを使用してグリッドを埋めましょう。 チャレンジ 入力としてグリッド座標の配列を受け取り、指定された座標を除き、テトリスの破片で満たされた10 x 20の完成したグリッドを出力する関数またはプログラムを作成します。 ピースの分布を均一に保つようにして、スコアを最適化します。 基準 この座標のペーストビンを使用して、タスクを完了します。5組の座標があります。座標を書き込む形式は自由に変更できますが、値は変更しないでください。 データセット#2は解決できません-この場合、入力セルが埋められた状態でグリッドを出力するだけです(つまり、X穴のある場所)。 入力 グリッド座標は、グリッドの「穴」を表します。これらはテトロミノの部分を含むことができないセルです。 グリッド座標: (0,0), (1,0), (2,0), ... (9,0) (0,1), (1,1), (2,1), ... (9,1) . . . (0,19), (1,19), (2,19), ... (9,19) プログラミング言語の配列スタイルを使用して、座標を入力します。 Xまたはその他の印刷可能なASCIIでグリッドの穴を表します。 出力 幅10セル、高さ20セルの標準テトリスグリッドサイズを使用して、Tetrominoピースを使用してグリッドを完全かつ完全に埋めることができる場合にのみ、ソリューショングリッドを印刷します。 手紙で構成小品I、O、L、J、T、Z、Sとして、次のとおりです。 I I L J I OO L J T ZZ SS I OO LL …

3
コンピューター:あなたは数学をする
この課題は、一部はアルゴリズムの課題であり、いくつかの数学が関与し、一部は単に最速のコードの課題です。 何らかの正の整数のために、長さのsとs のn一様にランダムなストリングを考えて、それを呼び出してください。また、値がまたはである2番目の一様に選ばれた長さのランダムストリングを考えて、それを呼び出してください。今聞かせても+ 。それはそれ自体に連結されます。10nAn-10,1B_preBB_preB_preB_pre 今の内積を考えるAとB[j,...,j+n-1]、それを呼び出すZ_jから、インデックスを1。 仕事 出力は、n+1分数のリストである必要があります。i出力のth番目の項は、すべての最初の項が等しいという正確な確率でなければなりません。iZ_jj <= i0 スコア n私のマシンでは、コードが10分以内に正しい出力を提供する最大のもの。 タイ・ブレーカー 2つの回答のスコアが同じ場合、最初に提出された方が勝ちです。 誰かが無制限のスコアを取得する方法を見つけるという(非常に)まれなイベントでは、そのようなソリューションの最初の有効な証拠が受け入れられます。 ヒント この問題を数学的に解決しようとしないでください。難しすぎます。私の考えでは、高校からの確率の基本的な定義に戻って、可能性を徹底的に列挙するコードを取得するスマートな方法を見つけることが最善の方法です。 言語とライブラリ 自由に利用できるコンパイラ/インタープリター/などを備えた任意の言語を使用できます。LinuxおよびLinuxでも自由に利用できるライブラリ用。 私のマシン タイミングは私のマシンで実行されます。これは、AMD FX-8350 8コアプロセッサへの標準のUbuntuインストールです。これは、コードを実行できる必要があることも意味します。結果として、簡単に入手できる無料のソフトウェアのみを使用し、コードをコンパイルして実行する方法の完全な指示を含めてください。 いくつかのテスト出力。それぞれの最初の出力だけを考えてくださいn。そのときi=1です。以下のためにn1から13まで、彼らはする必要があります。 1: 4/6 2: 18/36 3: 88/216 4: 454/1296 5: 2424/7776 6: 13236/46656 7: 73392/279936 8: 411462/1679616 9: 2325976/10077696 10: 13233628/60466176 11: 75682512/362797056 12: 434662684/2176782336 13: 2505229744/13060694016 あなたはまたのための一般的な式を見つけることができるi=1でhttp://oeis.org/A081671。 …

1
クーリエセプション
クーリエセプション プログラムは、入力として任意の文字列を受け入れ、Courierで入力文字列を示すピクセル画像を出力する必要があります。abdegopqABDPQR黒のピクセルで囲まれた「穴」などのすべての文字も黒で塗りつぶす必要があります。 入力 プログラムは、任意のASCII文字列を入力として受け入れられる必要があります。別の入力を受け入れるためにプログラムコード自体を変更する必要がない限り、入力は任意の方法にできます。(たとえば、読み取られるファイルのファイル名を除く。)標準的な抜け穴はありません。各入力には少なくとも1つの印刷可能な文字が含まれていると想定できます。 出力 出力は、指定された「穴」が埋められたCourierで記述された文字列(黒、背景白)を示す白黒(グレーなし)ピクセルグラフィックでなければなりません。文字列全体のフォントサイズは一定である必要があり(つまり、異なる文字ごとに異なるスケーリングがないことを意味します)、フルサイズの文字(たとえばABCDEFGHIJKLMNOPRSTUVWXYZjとQは大きい)の高さは少なくとも10pxでなければなりません。(ファイルに書き込む必要はありません。JavaScriptのキャンバスなどのピクセルグラフィックとして生成される限り、どんな種類の表示でも構いません。)このグラフィックを回答と共に投稿してください。 courier.ttf /フォントライブラリへのアクセスが許可されています。 プログラムは、黒ピクセルの数もカウントして、コンソールまたは最終的に望ましい出力方法を書き込む必要があります。 スコア スコアは次のように評価されます。完全なプログラムコードは、プログラムへの入力文字列として使用する必要があります。黒いピクセルの数がスコアになります。印刷不能または非ASCII文字を含むプログラムコードは許可されません。(標準の抜け穴と同様に。)スコアが低いほど良い。

1
花火の融合
概要 花火a-zと時間のリストが与えられた3-78たら、正しい時間にそれらがすべて点灯するように、ヒューズでそれらを配置します。 入力の行は、スペースで区切られた文字と数字として与えられます。 a 3 b 6 c 6 d 8 e 9 f 9 その一例を示している花火のa時の光の必要性3、bおよびc両方で6、dで8、とeとfの両方で9。各行は1つのマップに対応しています。 出力は、シンボルを使用した各ラインのヒューズ/花火マップです |-をヒューズを表示し、文字を花火を表示します。 -ヒューズは、その左/右のヒューズと花火に直接|接続し、ヒューズは上/下のヒューズと接続します。例えば、ヒューズは||されない接続され、-| あります。 たとえば、上記に対する2つの可能な答えは次のとおりです。 ---a ---------f | ||| || |-c ||| de --|--d a|| | b | |c f e b すべてのヒューズマップは-、左上隅のシングルから開始する必要があります。それが、ヒューズを点灯するポイントです。ヒューズの各文字は、焼くのに1秒かかります。ご覧のとおりa、両方の図で3秒で到達しますが、b、6。 さて、上記の両方のマップは、指定された入力に対して有効ですが、明らかに効率的なマップの1つです。左側のヒューズは13ユニットのみ使用し、右側のヒューズは20ユニット使用します。 ヒューズは花火で燃えません!したがって、inputのa 3 b 5場合、これは無効です。 ---a--b チャレンジ 目標は、すべてのテストケースで使用されるヒューズの量を最小限にすることです。スコアリングは非常に単純で、使用されるヒューズの合計単位です。 できない場合、それは不可能だ場合かどうか、テストケースのためのマップを作成、その場合のスコアは常に(上記の例のための41)の和です。 同点の場合、最もコンパクトなマップが勝つようにスコアリングが修正されます。タイブレークスコアは面積です各マップの境界ボックスのです。つまり、最も長い行の長さに行数を掛けたものです。「不可能」マップの場合、これは最大数の二乗です(上記の例では81)。 提出物がこれらのスコアリング方法の両方を結びつける場合、その結びつきは以前のエントリー/編集に行きます。 …

3
言葉を推測する(別名Lingo)
この課題の目標は、可能な限り少ない試行回数で単語を推測できるプログラムを作成することです。Lingo TVショー(http://en.wikipedia.org/wiki/Lingo_(US_game_show))のコンセプトに基づいています。 ルール コマンドラインの最初の引数として渡された単語の長さを考えると、プレーヤープログラムは、標準出力に推測を書き込み、その後に単一の文字を書き込むことによって、単語を推測する5回の試行を破棄し\nます。 推測が行われた後、プログラムは標準入力で文字列を受け取り、その後に1 \n文字が続きます。 文字列は推測する単語と同じ長さで、次の文字のシーケンスで構成されます。 X:これは、与えられた文字が推測する単語に存在しないことを意味します ?:これは、与えられた文字が推測する単語に存在するが、別の場所にあることを意味します O:これは、この場所の文字が正しく推測されたことを意味します 推測する単語がある場合たとえば、dentsと、プログラムは言葉を送りdozes、それが届きますOXX?Oので、dおよびs正しい、e紛失され、oかつz存在しません。 手紙は推測する単語よりも推測する試みの中で複数回存在する場合、それがされますように注意してくださいではないとしてマークされる?とO推測する単語の文字の出現箇所の数よりも多くの倍。たとえば、推測する単語がcoziesで、プログラムがを送信する場合、検索するのは1つだけなのでtosses、受信します。XOXXOOs 単語は英語の単語リストから選択されます。プログラムによって送信された単語が正しい長さの有効な単語でない場合、試行は自動失敗と見なされ、のみXが返されます。 プレーヤープログラムは、wordlist.txt1行に1ワードという名前のファイルが現在の作業ディレクトリに存在し、必要に応じて読み取ることができると想定する必要があります。 推測はアルファベットの小文字([a-z])のみで構成する必要があります。 他のネットワークまたはファイル操作はプログラムに対して許可されていません。 のみで構成される文字列Oが返されるか、プログラムが5回試行して単語を推測できなかったときに、ゲームは終了します。 得点 ゲームのスコアは、次の式で与えられます。 score = 100 * (6 - number_of_attempts) そのため、最初の試行で単語が正しく推測された場合、500ポイントが与えられます。最後の試行は100ポイントの価値があります。 単語の推測に失敗すると、ゼロポイントが付与されます。 ピット プレーヤープログラムは、4〜13文字の単語長ごとに100のランダムな単語を推測させることで評価されます。 ランダムな単語選択は事前に行われるため、すべてのエントリは同じ単語を推測する必要があります。 受賞したプログラムと受け入れられた回答が、最高のスコアに到達します。 https://github.com/noirotm/lingoのコードを使用して、プログラムはUbuntu仮想マシンで実行されます。コンパイルおよび/または実行するための合理的な指示が提供されている限り、どの言語での実装も受け入れられます。 私はgitリポジトリのrubyでいくつかのテスト実装を提供していますが、それらから自由にインスピレーションを受けてください。 この質問は公開された回答のランキングで定期的に更新されるため、チャレンジャーはエントリを改善できます。 公式の最終評価は7月1日に行われます。 更新 エントリは、wordlistN.txtファイルの存在を想定して、4〜13のNの現在の単語長の単語リストの読み取りを高速化できます。 たとえば、wordlist4.txt4文字すべての単語を含むファイル、wordlist10.txt10文字すべての単語を含むファイルなどがあります。 最初のラウンドの結果 2014年7月1日の時点で、3つのエントリが提出され、次の結果が得られました。 4 5 6 7 8 9 10 11 12 …

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