タグ付けされた質問 「decision-problem」

入力が特定の基準を満たすかどうかを決定し、その決定を表すいくつかのデータを出力する必要がある課題の場合。

4
誰がゴーストを勝ちますか?
ゴーストのゲームは、各ターンで交互に手紙を言う2人のプレイヤーの間で行われます。各時点で、これまでの文字は有効な英語の単語で始まる必要があります。敗者は、最初に完全な単語を完成させるプレーヤーです。したがって、たとえば、これまでの文字がEAGLの場合、有効な次の文字は "E"だけなので、次のプレイヤーは負けます。(「イーグルト」のような長い言葉があっても) チャレンジ あなたは、これまでの手紙を踏まえて、2人の完璧なプレーヤーを想定して勝者を決定するプログラムまたは関数を作成することになります。入力は、ゲームの現在の状態を表す文字列と、有効な単語の辞書を表す文字列のリストです。出力では、次に行くプレーヤーが勝つか負けるかを区別する必要があります。 細部 コードは、現在の状態が空の場合を処理する必要があります。ただし、辞書のどの単語も空ではないと想定できます。 各入力文字列は小文字のASCII文字、つまりazのみで構成されていると想定できます。 現在の状態を想定し、辞書内のすべての単語の最大文字数はそれぞれ80文字です。 辞書は空でないことが保証されています(有効な最初の移動がない場合を回避するため)。 「現在の状態」が有効であると想定することができます。現在の状態で始まる単語が必ずあるはずです。また、現在の状態がフルワードになることも、現在の状態のプレフィックスがフルワードになることもありません。 辞書は、「英単語」がゲームで有効であると見なされるルールに従って事前にフィルターされます。たとえば、3文字以下の単語でゲームがまだ終了しないバリアントの場合、辞書は4文字以上の単語のみが含まれるように事前にフィルタリングする。 辞書は事前に分類されていると想定できます。 例 辞書が次のとおりだとします。 abbot eager eagle eaglet earful earring 次の現在の状態の場合、出力は次のようになります。 Current state Result ============= ====== loss a win eag win eagl loss ear win earf win earr loss 同様に、https://raw.githubusercontent.com/dschepler/ghost-word-list/master/wordlist.txt(Debianシステムでを使用して作成pcregrep '^[a-z]{4,80}$' /usr/share/dict/american-english)の単語リストの場合、可能なセッションは次のとおりです。 Current state Result ============= ====== win h loss …

17
Harshad番号ですか?
Harshad数は、その数字の合計で割り切れる数です。これは明らかに整数が書き込まれる基数に依存します。10進数のHarshad数はOEISのシーケンスA005349です。 あなたのタスク: 与えられた整数が与えられた底のHarshad数であるかどうかを決定するプログラムまたは関数を記述します。 入力: 正の整数<10 ^ 9、2から36までの基数、またはその基数に正の整数、11-36の数字に小文字を使用し、2から36までの基数を使用します。これらのオプション。 出力: 最初の入力が2番目の入力の底のHarshad数であるかどうかを示す真/偽の値。 例: 27,10 ----------> truthy 8,5 ------------> truthy 9,5 ------------> falsy 1a,12 OR 22,12 -> truthy 得点: これはcode-golfで、バイト単位での最低スコアが勝利します。

1
(できます)これを実現するために括弧を追加します
私はこの最近の不可解な質問を見ました: 括弧を追加してこれを実現します そして、1つの答えがPythonスクリプトを使用してすべての可能性を試すことがわかりました。 式(文字列として)と整数を指定すると、括弧を追加して式を整数にできるかどうかを判断できるプログラムを作成することが課題になります。 たとえば、式が1 + 2 * 3で整数がである場合、9に等しいの9ような括弧を追加できる(1 + 2) * 3ため、出力は真実である必要があります。ただし、式が1 + 2 - 3 * 4 / 5で整数がの9999999999999場合、括弧を追加してそれを等しくすることはできない9999999999999ため、出力は誤ったものになります。 整数の入力は正または負の場合がありますが、式には正の整数のみが含まれることに注意してください。実際、式は常に一致します(\d+ [+*/-] )+ \d(正規表現)。言い換えれば、ちょうどなし括弧、ノー指数、+、-、*と/。標準の演算子の順序(*and /、then +および-)。 その他のテストケース: 1 + 2 - 3 * 4 / 9 and -1 -> truthy, ((1 + 2) - (3 * 4)) / 9 …

2
私のグラフは優雅ですか?
A 優雅なグラフの種類であるシンプルなグラフ。優雅なグラフは特別です。すべてのノードに正の整数でラベルを付ける方法があるため、エッジが接続するノードの違いでエッジにもラベルが付けられる場合、2つのエッジが同じラベルを持たず、すべてのラベルはエッジの数まであります。使用されている。 ワークアウトの例 これは、グレースフルグラフと思われる単純なグラフです。 次のラベルを試してみましょう。 ノードのラベル付けで整数をスキップすることが許可されていることに注意してください。次に、すべてのエッジに、接続するノード間の正の差でラベルを付けます。見やすくするために、これらを赤でラベル付けしました。 各エッジには一意の番号があり、1〜7(エッジの数)の数字は省略されません。したがって、私たちのグラフは優雅です。 仕事 適切な入力方法でグラフが与えられた場合、それが適切な場合は真の値を出力し、それ以外の場合は偽の値を出力します。 これはコードゴルフなので、目的はバイト数を最小限に抑えることです。 テストケース ここでは、グラフはエッジの配列として表されます。 3 nodes: [(0,1),(0,2),(1,2)] True Labeling: Node 0 -> 0 Node 1 -> 2 Node 2 -> 3 5 nodes: [(0,1),(0,4),(1,2),(2,3),(3,4)] False 5 nodes: [(0,1),(1,2),(2,3),(3,4)] True Labeling: Node 0 -> 0 Node 1 -> 1 Node 2 -> 3 …

2
長方形が長方形のスペースを隙間や重なりなしに埋めているかどうかを確認します
この課題は、別の同様の課題に基づいています。長方形の最も効率的なパッキングを見つけることはNP困難であるため(つまり、その解決策は簡単に確認できるが見つけにくい)、この課題はここでの課題よりもはるかに簡単です。 この挑戦 長方形の束が与えられた場合、それらが長方形のスペースをギャップやオーバーラップなしで埋めるかどうかを把握します。 入力 入力には2つの形式があり、1つはスコアリングペナルティを伴います。 1つ目は、長さが4のサブリストのリストです。このリストには、反対の頂点の座標である4つの整数が含まれています。すべての長方形は水平/垂直になるため、長方形がどこにあるかについてのあいまいさはありません。各サブリストには、最初の頂点のx座標、最初の頂点のy座標、2番目の頂点のx座標、2番目の頂点のy座標の順に、4つの整数が含まれます。 2番目:同じ長さの整数の4つのリストが含まれます。4つのリストは異なる座標を表します。入力オプション1を行列と考えると、ここでの入力は行列の転置にすぎません。この入力には、+20%バイトのペナルティがあります。 出力 単純な真実/偽の出力。 仕様書 エリア0(つまりx1 == x2 || y1 == y2)の長方形がある場合は、この長方形を無視してください(そのため[0 0 1 1], [2 2 3 2]有効です)。この仕様は、人々が最小/最大x / y値を簡単に取得することを困難にするために用意されています。 x1 <= x2y1 <= y2常に正しいとは限りません。の場合x1 > x2 || y1 > y2、長方形は面積ゼロの長方形ではありません。むしろ、それは間の長方形の空間を占有(x1, y1)して(x2, y2)。 座標は負の値でもかまいませんが、その場合でも座標間のスペースを占めます。 左上の長方形は常にとは限りません(0, 0)。したがって、塗りつぶされる長方形のスペースの左上隅がであるとは限りません(0, 0)。 (これらのあいまいさを指摘してくれた@xnorに感謝) 入力方法と出力の表現方法を指定してください。 得点 スコアは、バイト単位のコードのサイズに、該当する場合はバイトのペナルティを加えたものです。12月15日の時点での最低スコアが勝利します。 テストケース 0 0 …

16
2つの配列に同じ要素が含まれているかどうかを確認する
入力2の整数配列を受け取り、両方の配列に存在する要素が存在する場合は真の値を返し、そうでない場合は偽の要素を返すプログラムを記述します。この問題の明らかな解決策は、最初の配列の各要素を反復処理し、2番目の配列の各要素と比較することですが、ここで問題があります。プログラムには、最悪の場合、O( NlogN)、Nはより長い配列の長さ、 テストケース: {1,2,3,4,-5},{5,7,6,8} -> false {},{0} -> false {},{} -> false {1,2},{3,3} -> false {3,2,1},{-4,3,5,6} -> true {2,3},{2,2} -> true これはcode-golfなので、バイト単位の最も短いコードが優先されます。

10
それは真実か偽物ですか?
何かが真実であるかどうかを表現するには、非常に多くの異なる方法があります!この課題の目標は、生産することである標準の出力truthyやfalsy、さまざまな入力truthyとfalsy値のために。 この課題のために、以下の入力は真実と見なされます。 ゼロ以外の値を持つ符号付き整数を表す文字列(数字のみが含まれ、先頭に[0-9]オプションがあります-)。文字列-0が入力として与えられることは決してないことに注意してください。0以外の整数の前にaが付くことは決してありません0(つまり01、入力として与えられることはなく、同様に入力として与えられる-01こともありません)。 いずれかに相当する、大文字と小文字を区別しない文字列defined、found、nonnil、non-nil、on、success、t、true、y、及びyes この課題のために、次の入力は偽物と見なされます。 文字列0。繰り返されるゼロ(00、00...)は入力として与えられません。 空の文字列 いずれかに相当する、大文字と小文字を区別しない文字列f、failure、false、n、nan、nil、no、notfound、not-found、null、nullptr、off、及びundefined 入力 入力は、真偽値を表す文字列です。文字列は任意のソース(stdio、関数パラメーターなど)から取得できます。先頭/末尾の空白はありません。 入力は、上記の許可された真偽値のいずれかに一致することが保証されています(つまり、エラー処理を提供する必要はありません)。 出力 プログラム/関数は、入力の「真実性」または「偽性」を表す真偽値を出力する必要があります。出力で入力を変換する必要がある正確に1つの真偽値と1つの偽値のみを指定できます(これらは「標準化された」真偽値)。出力は、任意のシンク(stdio、戻り値、出力パラメーターなど)に書き込むことができます。 回答で選択したものtruthyとfalsy値を指定してください。 例:文字列trueを真の値として選択した場合、真の整数も使用できません1。 テストケース テストケースは、1行目が入力、2行目が出力であるため、フォーマットされています。 -1 true 1 true 1234 true -4321 true defined true deFined true Found true nonnil true non-nil true ON true SuCCess true T true true true y true YeS true 0 false '' …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.