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

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

4
グリッドをグリッドに分割する
前書き 少数の家と空の畑だけの小さな村があります。地元の官僚は、各ロットに正確に1つの家が含まれるように村をロットに分割し、ロットの境界がすてきな直線グリッドを形成することを望んでいます。あなたの仕事は、これが可能かどうかを判断することです。 タスク 入力は、ビットの長方形の2D配列です。1は家を表し、0は空のフィールドを表します。そのサイズは少なくとも1×1であり、少なくとも1つ1を含みます。任意の妥当な形式(ネストされた整数のリスト、文字列のリスト、複数行の文字列など)で入力を取得できます。 プログラムは、各グリッドセルに正確に1つが含まれるように、水平および垂直の直線を使用して配列をグリッドセルに分割できるかどうかを決定するものとします。ラインは、配列の一方の端から反対側の端まで実行する必要があります。 たとえば、次は配列の有効な分割です。 00|0010|01|1 01|0000|00|0 --+----+--+- 00|0000|00|1 01|0010|01|0 --+----+--+- 01|1000|10|1 一方、次の区分は有効ではありません。1を持たないグリッドセルまたは1を超えるグリッドセルがあるためです。 00|0010|01|1 --+----+--+- 01|0000|00|0 00|0000|00|1 01|0010|01|0 --+----+--+- 00|1000|10|1 有効な部門が存在する場合、真理値を出力し、それ以外の場合は偽値を出力します。 ルールとスコアリング 完全なプログラムまたは関数を作成できます。最も低いバイトカウントが優先されます。 テストケース [[1]] -> True [[0,1],[1,0]] -> True [[1,1],[1,0]] -> False [[1,0,1],[0,1,0]] -> True [[1,0],[0,1],[0,1]] -> True [[1,0,0],[0,0,1],[0,1,1]] -> True [[1,1,1],[1,1,1],[1,1,1]] -> True [[1,0,1],[0,1,0],[1,0,0]] -> True [[1,0,0],[1,0,0],[0,1,1]] …

5
27個の関数の整流
前書き 3要素関数を、それ自体に設定された3要素からの関数として定義してみましょうS = {0,1,2}:のS別の要素の各要素に関連付けSます。三項関数の一例fは f(0) = 0; f(1) = 2; f(2) = 0 正確に27の異なる三項関数があり、それらを0から26の整数で表します:関数fはとしてエンコードされf(0) + 3*f(1) + 9*f(2)ます。上記のサンプル関数は、数値6としてエンコードされます。 2つの3項関数fをg順番に適用できます。f(g(k)) == g(f(k))すべてのkin が成立する場合S、関数は通勤します。あなたの仕事は、これが事実かどうかを確認することです。 入力 入力は、0〜26の範囲の2つの整数です。これらは2つの3項関数fおよびを表しgます。入力は、10進数、2進数、または単項(1sの文字列)形式で行う必要があります。 出力 あなたの出力はtruthy値の場合fとgそうでない場合は通勤、およびfalsey値。入力が順序付けられていると想定することはできません。 例 入力5と16を検討します。これらは3次関数をエンコードします f(0) = 2; f(1) = 1; f(2) = 0 g(0) = 1; g(1) = 2; g(2) = 1 我々は持っているf(g(1)) == f(2) == …

27
目に見えるサイコロの顔
伝統的な西洋ダイは 1〜6の整数が顔にマークされているキューブ、です。7に追加されるペアは、反対側の面に配置されます。 立方体であるため、常に1〜3面(両端を含む)1面しか見ることができません。反対側の顔を同時に見ることはできません。 あなたの仕事は、ダイ上の辺を表す整数のリストを与えられて、これらの面を同時に見ることができるかどうかを決定するプログラムまたは関数を書くことです。 1 さて、多分あなたは一対の目で4つまたは5つの顔を見ることができますが、この挑戦​​の目的のために、私たちは一点からダイを観察します。 ルール: あなたの提出物は入力リストを仮定するかもしれません: 空ではありません。 を満たす値のみが含まれます1 ≤ n ≤ 6。 重複する要素は含まれていません。 入力がソートされているとは思わないかもしれません。 あなたの提出物は、真実/偽の値を出力する必要があります:真実は、顔が同時に見ることができ、そうでなければ偽です。 これはcode-golfなので、最短の回答(バイト単位)が勝ちです! デフォルトでは、標準の抜け穴は禁止されています。 テストケース 真実: [6] (One face) [6, 2] (Share a side) [1, 3] (Share a side) [2, 1, 3] (Share a vertex) [3, 2, 6] (Share a vertex) 偽物: [1, 6] (1 …

5
合同数
定義: 三角形が考慮される直角三角形内角の一つが正確に90度である場合。 番号が考えられる合理的なことは、すなわち、整数の比で表すことができるならばp/q、両方の場所、pおよびq整数です。 3つの辺すべてが合理的な領域の直角三角形が存在する場合n、数値は合同の数値ですn。 これはOEIS A003273です。 チャレンジ これは意思決定の課題です。入力数が与えられると、合同数であるx場合xは明確で一貫した値を出力し、合同数でxない場合は別個の明確で一貫した値を出力します。出力値は、必ずしも言語で真実/偽である必要はありません。 特別ルール この挑戦の目的のために、バーチとスウィナートン-ダイアーの予想は真実であると仮定することができます。あるいは、Birch and Swinnerton-Dyerの予想を証明できる場合は、1,000,000ドルのミレニアム賞金を請求​​してください。;-) 例 (True合同数などに使用False)。 5 True 6 True 108 False 規則と説明 入力と出力は、任意の便利な方法で指定できます。 結果をSTDOUTに出力するか、関数結果として返すことができます。出力でどの値を取ることができるかを提出してください。 完全なプログラムまたは機能のいずれかが受け入れられます。 標準的な抜け穴は禁止されています。 これはコードゴルフなので、通常のゴルフルールがすべて適用され、最短のコード(バイト単位)が勝ちます。

23
転校(1日目)
大学コードチャレンジコンテストの許可を得て撮影したチャレンジ ここ数年、私の学校の生徒数は着実に増加しています。最初は教室ごとに生徒数が増加しましたが、ジムスタンドや最後のコースであるほうきの部屋まで、いくつかのグループがそこにクラスを提供するためにいくつかのスペースを変換する必要がありました。 昨年、学術機関は新しい建物を建設する予算を得て、工事を開始しました。やっと彼らは終わり、新しい建物はすでに使用できるので、移動することができます(古い建物は修復され、別の機能に使用されます)が、コースの途中で私たちを捕まえました。ディレクターは、グループを分割または参加せずに移動できるかどうか、または一部の学生がグループを変更する必要があることを知りたいと考えています。 チャレンジ 現在のグループの学生数と新しい教室(容量)を考慮して、十分な容量を持つ別の教室を現在の各グループに割り当てることができる場合は真実の値を、そうでなければ偽の値を出力します。 テストケース Input: groups of students => [10, 20, 30], classrooms capacity => [31, 12, 20] Output: True Input: groups of students => [10, 20, 30], classrooms capacity => [100, 200] Output: False Input: groups of students => [20, 10, 30], classrooms capacity => [20, 20, …

14
これはBSTの先行予約の走査ですか?
バックグラウンド バイナリツリーは、そのすべてのノード最大2人の子供に持ってルート権限を取得し、ツリーです。 標識された二分木は、そのすべてのノードは正の整数で標識された二分木です。さらに、すべてのラベルは区別されます。 BST(バイナリ検索ツリー)は、各ノードのラベルは、その左の部分木のすべてのノードのラベルよりも大きく、その右サブツリーの全てのノードのラベルよりも小さくなっている標識された二分木です。たとえば、次はBSTです。 ラベル付きバイナリツリーの事前順序走査は、次の擬似コードによって定義されます。 function preorder(node) if node is null then return else print(node.label) preorder(node.left) preorder(node.right) より良い直観を得るには、次の画像を参照してください。 このバイナリツリーの頂点は、次の順序で印刷されます。 F, B, A, D, C, E, G, I, H BSTについての詳細はこちら、先行予約の走査についての詳細はこちらをご覧ください。 チャレンジ 整数のリストを考えると、あなたのタスクは、その正確プリオーダートラバーサルプリントBSTがあるかどうかを決定することです。aaaaaa 入力 明確な正の整数aの空でないリスト。aaa オプションで、aaaの長さ。 出力 truthyの値があれば、いくつかのBSTのプリオーダートラバーサルです。aaa falseyのそれ以外の値。 ルール 有効な提出、I / O、抜け穴の標準ルールが適用されます。 これはcode-golfであるため、最短のソリューション(バイト単位)が優先されます。いつものように、ゴルフ言語のとてつもなく短い解決策で、選択した言語で長い回答を投稿することを妨げないでください。 これはルールではありませんが、ソリューションをテストするためのリンクとそれがどのように機能するかの説明が含まれていれば、あなたの答えはよりよく受け取られます。 例 Input ----> Output [1] ----> True …

13
これはストレートフラッシュですか?
関連:ポーカーハンドに名前を付ける ストレートフラッシュとは、同じスーツのシーケンシャルランクのカードが5枚入っているポーカーハンドです。ストレートフラッシュの一部として、エースはキングより上または2より下にランクできます。エースは高いランク(例:A♥K♥Q♥J♥10♥はエースハイストレートフラッシュ)またはロー(例:5♦4♦3♦2♦A♦は5ハイストレートフラッシュ)ですが、同じ手でハイとローの両方をランク付けすることはできません(例:Q♣K♣A♣2♣3♣はストレートフラッシュではなくエースハイフラッシュです)。 チャレンジ Nポーカーハンドにストレートフラッシュが含まれている場合、与えられたカード(合理的な形式)は真実の値を出力します。 入力 Nカードの数。(合理的な形式で) 4つのスーツがあります。ハート、スペード、ダイヤモンド、クラブ(H, S, D, C)。 各スーツには、2〜10の数字用のカードが1枚と、「絵」カード、エース、ジャック、クイーン、キングの4枚があります。 (A, J, Q, K) 注:Tとして10を使用できます 出力 Truthy/Falsy 値 テストケース ["AS", "2S", "3S", "4S", "5S"] => true ["3D", "9C", "4S", "KH", "AD", "AC"] => false ["5D", "6D", "7D", "8H", "9D", "10D", "JD"] => false ["JC", "7C", "5D", "8C", "AC", "10C", …

5
私の番号はユニークですか
で、この課題我々は要因の木を使用して整数すべての正をエンコードする方法を学びました。 仕組みは次のとおりです。 空の文字列の値は1です。 (S)ここSで、値がSの式は、S番目の素数に評価されます。 ABここでAおよびBは、それぞれAおよびBの値を持つ任意の式の値はA * Bです。 たとえば、7を表す場合は、次のようにします。 7 -> (4) -> (2*2) -> ((1)(1)) -> (()()) この方法を使用すると、すべての整数を表すことができます。実際、いくつかの数値は複数の方法で表すことができます。乗算は可換であるため、10は両方 ((()))() そして ()((())) 同時に、いくつかの数値は1つの方法でしか表現できません。例として8を取り上げます。8は次のようにしか表現できません ()()() そして、私たちの原子はすべて同じなので、commutivityを使用して原子を再編成することはできません。 それで、今の質問は「どの数字が一方向でしか表現できないのか?」です。最初の観察は、私がそこに戻り始めたばかりのものです。完全な力にはいくつかの特別な特性があるようです。さらに調査すると、36を見つけることができます。これは6 2が完全な力ですが、複数の表現があります。 (())()(())() (())()()(()) ()(())()(()) ()(())(())() ()()(())(()) また、6はすでに再配置可能であるため、これは理にかなっています。したがって、6から作成する数も再配置可能でなければなりません。 これでルールができました: 数値は、一意の表現を持つ数値の完全な力である場合、一意の表現を持ちます。 この規則は、素数が一意であるかどうかを判断するために、合成数が一意であるかどうかの判断を減らすのに役立ちます。この規則ができたので、何が素数を一意にするのかを理解したいと思います。これは実際にはかなり自明です。一意の番号を取得して括弧で囲む場合、結果は一意である必要があります。逆に、nに複数の表現がある場合、n番目の素数には複数の表現が必要です。これにより、2番目のルールが生成されます。 N番目の素数をしている場合にのみ場合は一意であるnがユニークです。 これらのルールは両方とも再帰的であるため、ベースケースが必要になります。最小の一意の番号は何ですか?()空の文字列である1 だけがさらに小さく、一意であるため、2と言いたくなるかもしれません。 1は一意です。 これらの3つのルールを使用して、数値に一意の因子ツリーがあるかどうかを判断できます。 仕事 あなたはそれが来るのを見たかもしれませんが、あなたの仕事は正の整数を取り、それが一意であるかどうかを判断することです。この計算を行うプログラムまたは関数を作成する必要があります。2つの可能な値のいずれかを出力する必要があります。これらの値は自由ですが、入力が一意の場合は「yes」を、そうでない場合は「no」を出力する必要があります。 回答はバイト単位でスコアリングする必要があり、バイト数は少ない方が良いでしょう。 テストケース 最初のカップルの一意の番号は次のとおりです。 1 2 3 4 5 …

21
過剰を決定する
超過剰数は整数であり、nは、上部との比に向かう新しいセットその除数サム関数 σを。換言すれば、n個全ての正の整数のための有り余る場合にのみ、あるX未満であるN。 σ(n)n>σ(x)xσ(n)n>σ(x)x\frac{\sigma(n)}n>\frac{\sigma(x)}x いくつかの値の場合: n σ(n) σ(n)/n superabundant 1 1 1.0000 yes 2 3 1.5000 yes 3 4 1.3333 no 4 7 1.7500 yes 5 6 1.2000 no 6 12 2.0000 yes 7 8 1.1429 no 8 15 1.8750 no 9 13 1.4444 no これらの長いリスト(テストケース用)は、OEIS A004394にあります。 非常に推奨されるネガティブテストケースの1つ(インタープリターが処理できる場合)は360360です。 チャレンジ プログラムは、単一の正の整数を受け取り、その整数が過剰であるかどうかを表す真偽値を出力する必要があります。 これはcode-golfであるため、バイト単位の最短回答が優先されます。

27
VEVOユーザーアカウントチェッカー
YouTubeでミュージックビデオをよく見ます。ミュージックビデオをホストする多くのYoutubeチャンネルは「powered by VEVO」です。これらは、ビデオサムネイルにVEVOを埋め込むことと、チャンネル名にVEVOを追加することで簡単に識別できます。 ここで、ユーザーが指定した文字列がVEVOユーザーアカウントかどうかをテストするコードを作成します。 有効なVEVOユーザーアカウント文字列の要件: 大文字、小文字、数字のみを含める必要があります。(空白または句読点なし) 80文字を超えることはできません。 文字列の最後に「VEVO」部分文字列が必要です テストケース: 有効な入力: AdeleVEVO ConnieTalbotVEVO SHMVEVO justimberlakeVEVO DJMartinJensenVEVO test123VEVO 無効な入力: syam kapuk jypentertainment Noche de Brujas testVEVO123 もちろん、これはcode-golfなので、あらゆるプログラミング言語を使用して最短のコードを探しています。

30
文字列として指定された2つの数値を比較する
仕事で問題があります。2つの異なるデータベースから文字列として送られる2つの数値を比較する必要があります。数字には、先行ゼロや先行/末尾スペースが含まれる場合があります。そのため"0001 "、あるデータベースと" 1 "別のデータベースの両方を使用できます。 私は次のコードでC#の問題を解決しました: Func<string, string, bool> f = (a,b) => int.Parse(a.Trim()) == int.Parse(b.Trim()) チャレンジ これは本当に簡単な挑戦であり、初心者やあらゆる難解な言語に適しています。先行ゼロや先行/末尾スペースが含まれる可能性のある文字列として2つの数値が与えられた場合、2つの文字列が同じ数値を表すかどうかをチェックする最短のコードを記述します。 入力は、2つの文字列または言語の同等の文字列(char配列でも構いません)である必要があり、常にゼロより大きい整数値を表します。 出力は、真理値と偽値を表す2つの一貫した値である必要があります。 例 A B Result ---------------------------- "0001" "1 " true "1450" "1450 " true "0010001 " " 10001 " true "0010000" " 10 " false "101023" "101024" false これはcode-golfなので、各言語の最短コードが勝つかもしれません!

11
それ自体の部分文字列ですか?
文字列を指定すると、その文字列がプログラムのソースコードの部分文字列かどうかを返します。 標準のクインルールが適用されます。つまり、独自のソースコードを読むことはできません。入力の長さは、プログラムの長さ以下であることが保証されています。2つの異なる値を返すことができますが、必ずしも真偽値ではありません。完全なプログラムではなく、関数を送信することもできます。 これはコードゴルフなので、最短のコードが勝ちます! 例 ソースコードがの場合、print(input() = False)Trueを返しますがnt(i、Falseを返しますtupn。

9
グループは周期的ですか?
前書き 循環グループとは何かをすでに知っている場合は、この部分をスキップできます。 グループが設定され、連想バイナリ操作によって定義される$(、である(a $ b) $ c = a $ (b $ c)グループに正確に1つの要素が存在する。eここで、a $ e = a = e $ a全てのためのaグループ(で識別)。すべての要素についてはa、グループ内の存在正確に一つのbようにa $ b = e = b $ a(逆) 。a, bグループ内の2つの要素ごとに、a $ bに、グループ内にあります(closure)。 私たちは書くことができます a^n代わりにa$a$a$...$a。 任意の要素によって生成された巡回サブグループa、グループ内である<a> = {e, a, a^2, a^3, a^4, ..., a^(n-1)}場合n(サブグループが無限大でない限り)サブグループの順序(サイズ)です。 グループは、その要素の1つによって生成できる場合、周期的です。 チャレンジ 有限グループのCayleyテーブル(製品テーブル)が与えられたら、それが周期的かどうかを判断します。 例 次のCayleyテーブルを見てみましょう。 1 …

13
行列は1位ですか?
整数の行列が与えられたら、それがランク1であるかどうかをテストします。これは、すべての行が同じベクトルの倍数であることを意味します。たとえば、 2 0 -20 10 -3 0 30 -15 0 0 0 0 すべての行はの倍数です1 0 -10 5。 同じ定義は、行の代わりに列でも機能します。あるいは、乗算表のような行列はランク1です。 * 1 0 -10 5 ---------------- 2 | 2 0 -20 10 -3 | -3 0 30 -15 0 | 0 0 0 0 行ラベルr[i]と列ラベルを割り当てc[j]て、各マトリックスエントリM[i][j]がとして対応するラベルの積になるようにしましたM[i][j] = r[i] * c[j]。 入力: 選択した2Dコンテナとしての整数行列。たとえば、リストのリスト、2D配列など。配列形式で必要とされない限り、幅または高さを追加の入力として使用しないでください。 行列は非正方形の場合があります。少なくとも1つの非ゼロエントリがあります。空またはゼロの行列を処理する必要はありません。 …

16
もう一つのプログラムと私は出かけています!
正の整数ネスティングレベル所定のn文字列s印刷可能なASCII文字(のと~同じ言語で実行すると、プログラムを出力するプログラムを出力し、出力プログラム。。。文字列を出力しますs。 合計でnプログラムを生成する必要があります。すべてのプログラムは回答と同じ言語で実行する必要があります。 注:プログラムまたは関数を出力することができます-提出物としてデフォルトで許可されているもの。 あなたのs言語のプログラムや関数が通常どのように文字列を入力するかをエスケープ文字で入力できます。 例 例えば、与えられたn=1とs="recursion"、Pythonの2プログラムのかもしれない出力: print "recursion" これを実行すると出力されます: recursion 与えられたn=2s = "PPCG"の場合、Python 2プログラムは次を出力します。 print "print \"PPCG\" " この出力の実行: print "PPCG" この出力の実行: PPCG 関連(+タイトルのインスピレーション):もう1つのLULと私は出ています 関連(サンドボックス内-現在削除されていますが、十分な評判で表示できます):ソースコードの再帰 テストケース 次のテストケースでコードが機能することを確認します(1行に1つ)。 n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks might be …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

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