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

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

2
これらのリストは同等ですか?
ご存じのとおり、pythonにはリストがあります。知らないかもしれませんが、これらのリストには自分自身を含めることができます。 a = [] a.append(a) Python 2 Python 3 これらはクールで、あなたがそれらでできる面白いことがたくさんありますが、それらを比較することはできません。 a = [] a.append(a) b = [] b.append(b) a == b Python 2 Python 3 仕事 あなたの仕事は、Python(またはpythonオブジェクトを直接処理できる任意の言語)で関数を記述し、それ自体を含む2つのリストを取得して比較することです。 2つのリストが同じ長さであり、番号のシーケンスが存在しない場合、そのシーケンスで両方のリストにインデックスを付けると、2つのオブジェクトは、この等しいという定義の下で等しくなくなります。リストに含まれるすべての非リストオブジェクトは、簡単にするためにPython整数になります。整数のPythonの組み込みの同等性と比較する必要があります。 リストが無限に深いかどうかを判断するために、プログラムは Pythonの再帰の深さに依存してはなりません。あれは: def isInfinite(a,b): try: a==b return False except RunTimeError: return True 2つのリストが自己参照であるかどうかを判断する有効な方法ではありません。 テストケース 関数を定義すると仮定します equal a = [] a.append(a) b = …

8
逆挿入ソート
目的 挿入ソートの動きから、元のスクランブルリストを生成しますするします。元のリストからすべての数字を持っているだろう0にN-1(包括的)N入力の大きさです。 入力 リストをソートするために必要な移動を含むリスト。各値は、元の(スクランブルされた)番号によって正しい位置に移動するスロットの量を表します。このプロセスは左から右であることに注意してください。入力リストの (0からインデックス付けされた)位置の値は、両端の値を含みます。 無効な入力を処理する必要はありません。この場合、どのような動作も許容されます(クラッシュ、無限ループなど)。i0i 出力 スクランブルリスト 動きを生成するためのステップバイステップ Scrambled List | Moves to sort [4,0,2,1,3,5] | [0, , , , , ] #4 stay in place [4,0,2,1,3,5] | [0,1, , , , ] #0 is moved 1 slot to the left [0,4,2,1,3,5] | [0,1,1, , , ] #2 is …
19 code-golf  array-manipulation  code-golf  code-golf  animation  code-golf  restricted-source  code-golf  java  code-golf  decision-problem  graph-theory  code-golf  conversion  electrical-engineering  code-golf  ascii-art  code-golf  string  substitution  code-golf  math  code-golf  string  set-theory  code-golf  code-golf  compile-time  code-golf  kolmogorov-complexity  binary  code-golf  sequence  cops-and-robbers  code-golf  subsequence  card-games  code-golf  sequence  primes  code-golf  code-golf  number  graphical-output  music  code-golf  ascii-art  code-golf  string  lambda-calculus  code-golf  string  code-generation  code-golf  unicode  code-golf  math  combinatorics  code-golf  balanced-string  code-golf  sequence  cops-and-robbers  code-golf  sequence  cops-and-robbers  code-challenge  fastest-code  chess  code-golf  math  graphical-output  code-golf  string  hello-world  animation  code-golf  number  arithmetic  code-golf  integer  code-golf  code-golf  combinatorics  code-golf  kolmogorov-complexity  graphical-output  code-golf  string  code-golf  code-golf  game  code-golf  math  combinatorics  code-golf  ascii-art  popularity-contest  random  code-golf  arithmetic  number-theory  integer  code-golf  tips  underload  code-golf  math  sequence  primes  code-golf  math  path-finding  code-golf  ascii-art  primes  code-golf  kolmogorov-complexity  alphabet 

4
戦争ゲームの勝者を決定する
カードゲームの戦争は、カードがプレイフィールドからピックアップされてデッキに移動される順序について特定のルールに従う限り、最終結果がデッキの初期配置によって完全に決定されるという点で興味深いです。この課題では、2人のプレイヤーのみが存在し、物事を大幅に簡素化します。 ゲーム 各プレイヤーには26枚のカードが配られます。 各プレイヤーはデッキの一番上にあるカードを表向きに置きます。上位のカード(Ace > King > Queen > Jack > 10 > 9 > 8 > 7 > 6 > 5 > 4 > 3 > 2)を持つプレイヤーがラウンドに勝ち、相手のカードの上にカードを置き、裏返して、デッキの一番下に追加します(勝ったカードはデッキの一番下になります) 、他のプレイヤーの負けているカードはそのすぐ上にあります)。これは、プレイヤーの一人がカードを使い果たすまで行われます。 カードのランクが等しい場合、各プレイヤーは自分のデッキの一番上から2枚のカードを前のカードの上に表向きに配置します(そのため、デッキの上にあったカードはスタックの2枚目のカードになり、上から2番目のカードが上にあります)。次に、(各スタックの一番上のカードの)ランクが再び比較され、勝者は敗者のスタック全体の上にスタック全体を置き、スタックを上下逆にして、デッキの一番下に置きます。別のタイがある場合、勝者が選択されるか、1人のプレイヤーがカードを使い果たすまで、同じ方法でより多くのカードがプレイされます。 いずれかのプレイヤーがデッキからカードを引く必要があるが、デッキが空の場合、すぐにゲームに負けます。 チャレンジ プレイヤーのデッキにある2種類のカードのリストを便利な形式で指定すると、プレイヤー1が勝った場合は真実の値を、プレイヤー2が勝った場合は偽の値を出力します。 便宜上、10枚のカードはで表され、すべてのカードの長さが1文字にTなるように、顔カードは省略されます(Ace -> A, King -> K, Queen -> Q, Jack -> J)。あるいは、ランクは10進整数2〜14(Jack -> 11, Queen -> 12, …

5
ハードオブジェクトまたはソフトオブジェクトはもっとありますか
What-Ifブックのオープニングに触発されました。 入力は、文字列、文字列のリストなどとしてのスペースの長方形で、#内部にで作成されたオブジェクトがあります。 ######## # # ######## ### #### ### #### ### オブジェクトは常に交差せず、触れない長方形になります。ソフトオブジェクトは#、中央がで埋められておらず、境界のみであるオブジェクトとして定義されます。ハードオブジェクトは、塗りつぶされたオブジェクトです。幅または高さのあるオブジェクト<=2はハードと見なされます。すべてのオブジェクトはハードまたはソフトです。 入力にさらに硬いオブジェクトがある"Hard"場合、output 、より柔らかい場合、output "Soft"、それらが等しい場合、output "Equal"。 これはcode-golfなので、バイト単位の最短コードが勝ちです! テストケース これらのケースは完全な入力ではなく、各オブジェクトを特徴付けるべきものです。実際の入力は、質問の上部にあるascii-artのようになります。 ハード # #### ## ## ########## ########## ########## 柔らかい ### # # ### ################### # # # # # # ################### #### # # # # # # # # # …
19 code-golf  ascii-art  counting  code-golf  number  grid  decision-problem  chess  code-golf  grid  graph-theory  chess  code-golf  math  geometry  code-golf  arithmetic  roman-numerals  fastest-code  code-golf  math  geometry  code-golf  string  cryptography  code-golf  number  sequence  decision-problem  code-golf  string  parsing  c  code-golf  sorting  integer  code-golf  number  sequence  rational-numbers  graphical-output  atomic-code-golf  assembly  box-256  code-golf  geometry  tips  python  code-golf  number  sequence  arithmetic  number-theory  code-golf  ascii-art  kolmogorov-complexity  geometry  code-golf  graphical-output  code-golf  math  code-golf  grid  cellular-automata  game-of-life  code-golf  string  subsequence  code-golf  arithmetic  rational-numbers  code-golf  tips  dc  code-golf  ascii-art  kolmogorov-complexity  date  code-golf  string  primes  code-golf  string  natural-language  conversion  code-golf  sequence  code-golf  number-theory  primes  base-conversion  code-golf  math  primes  base-conversion  code-golf  ascii-art  fractal  code-golf  matrix  code-golf  math  tips  geometry  python  string  code-challenge  keyboard  code-golf  graphical-output  code-golf  string  code-golf  number  sequence  cops-and-robbers  number  sequence  cops-and-robbers 

13
洗練されたパーティション
整数の配列を考えます: [1, 0, 9, 1, 3, 8] このリストを連続したサブリストに分割する方法はたくさんあります。3つあります。 A: [[1, 0, 9], [1, 3, 8]] B: [[1], [0, 9], [1, 3], [8]] C: [[1, 0], [9, 1], [3, 8]] サブリストを結合してYからXを取得できる場合、パーティションYと別のパーティションXの改良版を呼び出します。 のB洗練もA同様です。最初の2つのサブリストと最後の2つのサブリストを結合して戻すと、が得られAます。しかしC、それは洗練されたものではありません。それから回復するにはA、9とを分割する必要があります。また、どのパーティションもそれ自体が洗練されたものです。1A サブリストまたは要素をいつでも再配置することは許可されていないことに注意してください。 チャレンジ 2つのパーティション(整数のリストのリスト)Xおよびが与えられY、Yがの洗練であるかどうかを判断しXます。 あなたは、パーティションのみから整数が含まれていることを仮定してもよい0の9包括的、。あなたはそれXをY同じリストのパーティションであると仮定してはなりません(そうでない場合、互いの改良でもありません)。Xおよび/またはY空であっても、空のサブリストが含まれることはありません。 プログラムまたは関数を作成し、STDIN(または最も近い代替)、コマンドライン引数または関数引数を介して入力を取得し、STDOUT(または最も近い代替)、関数の戻り値または関数(out)パラメーターを介して結果を出力できます。 入力は、任意の便利な文字列またはリスト形式で取得できます。要素は1桁の整数のみであるため、サブリスト内の区切り文字を省略することもできますが、先頭0のsが可能なことを確認してください。あなたは取ることを選んでもよいXし、Y逆の順序で。 出力は、洗練されている場合は真実であり、そうでない場合は偽である必要Yがあります。X コードは、妥当なデスクトップマシンで1秒以内に以下の各テストケースを解決できる必要があります。(これは、単純なブルートフォースソリューションを回避するための単なる健全性チェックです。) これはコードゴルフなので、最短の回答(バイト単位)が勝ちです。 テストケース 各テストケースは、と書かれた独自の行にありX Yます。GolfScript / CJamスタイルの配列表記を使用して、水平方向のスペースを節約しています。 真実: [] [] [[0]] [[0]] …

13
シェルピンスキー層
はじめに、そのような下に線を追加することにより、パターンのようなシェルピンスキーの三角形/\を作成することができます... ゆるい枝/または\2つの枝に再び分割されます/\。 ブランチの衝突は、その\/下に何も(スペースはありません)死んでしまいます。 これらの規則を繰り返すと、 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ etc... (ViHartによるインスピレーション) 正の整数Nを取り込んで、このパターンの最初のN行をstdoutに出力するプログラムまたは関数を作成します。必要以上に先行または後続のスペースはありません。 たとえば、入力が1出力の場合、 /\ 入力が2出力の場合 /\ /\/\ 入力が8出力の場合 /\ /\/\ /\ /\ /\/\/\/\ /\ /\ /\/\ /\/\ /\ /\ /\ /\ /\/\/\/\/\/\/\/\ 等々。 最小バイトのコードが優先されます。

9
この線はその正方形を通りますか?
以下に示すように、最初の象限(正のx軸、正のy軸、および原点を含む)を1x1グリッドに分割し、各グリッドに左下隅の座標でラベルを付けます。 各グリッドには境界と頂点が含まれていることに注意してください。数学記号を使用すると、(m、n)というラベルの付いたグリッドは正方形を表し{(x,y) | m ≤ x ≤ m+1, n ≤ y ≤ n+1}ます。 形で直線所定のax+by+c=0整数としa、b、およびc、と表されるグリッド(m,n)線は、グリッド、すなわち所与のグリッド内の任意の点がライン上にあるかどうかを通過するかどうかを出力。 a b c m n output 1 1 0 0 0 true 1 1 0 1 1 false 1 1 0 0 2 false 1 1 -3 0 1 true 1 1 -3 0 0 false …

8
この四辺形は周期的ですか?
数学では、周期的な四辺形は頂点がすべて同じ円上にあるものです。つまり、すべての頂点は他の3つの外接円上にあります。詳細については、MathWorldの記事を参照してください。 例 これらの四辺形は周期的です。 この台形は周期的ではありません。 (ウィキペディアの画像) 目的 凸四辺形を形成する反時計回りの順序で4つの頂点の座標が与えられたら、四辺形が周期的であるかどうかを判断します。 座標は整数になります(ただし、外心座標と外接半径は必ずしも整数ではないことに注意してください)。前の段落で暗示されているように、3つのポイントが同一直線上になく、2つが一致しません。 I / O 適切な形式を使用して入力できます。、特に[[x1,x2,x3,x4],[y1,y2,y3,y4]]、[[x1,y1],[x2,y2],[x3,y3],[x4,y4]]複素数のすべての罰金です。 trueとfalseの異なる一貫した値を使用して出力します。 テストケース 正しい: [0,0], [314,0], [314,1], [0,1] [-5,5], [5,-5], [1337,42], [42,1337] [104, -233], [109, -232], [112, -231], [123, -224] 偽: [0,0], [314,0], [314,100], [0,99] [31,41],[59,26],[53,58],[0,314]

26
単語は互いに素ですか?
単語が与えられたら、すべての文字を英語のアルファベットの数字として扱い(a1にbなる、2にzなる、26 になる、など)、重複を含むすべてがペアワイズcoprimeであるかどうかを確認します。 入力は、小文字の英語文字の正確に1つの単語です。単語が互いに素である場合の出力は事実です:真/偽の値ですが、それらの2つのバリアントのみです。標準的な抜け穴は禁止されています。 テストケース: man: True day:True(ØrjanJohansenに感謝) led:False(l=12とd=4持っていますgcd=4) mana:(複数回発生しTrueますaが、1と1は互いに素です) mom:False(gcd(13,13)=13)) of:False(xnorに感謝しますが15∤6、gcd(15,6)=3) a:(True文字のペアがない場合は、単語を余素として扱います) これはcode-golfなので、バイト単位の最短コードが勝ちです!

24
トンネリングアレイを確認する
整数の配列があり、その負でない値が同じ配列内の他の位置へのポインターであり、それらの値がトンネルを表すことだけを想像してください。したがって、位置Aの値が正で位置Bを指している場合、トンネルの両端を表すには、Bも正で、位置Aを指している必要があります。そう: チャレンジ 整数の配列が与えられた場合、その配列がトンネリング配列であるという制限に準拠しているかどうかを確認し、trueyとfalseyに対して2つの異なる一貫した値を返します。 配列内の値は、トンネル以外の位置ではゼロ未満、トンネル位置ではゼロ以上になります。配列が1インデックスの場合、ゼロ値は非トンネル位置を表します。トンネル以外の値をチェックする必要はありません。 セルの正の値が自分自身を指している場合、それは偽です。AがBを指し、BがCを指し、CがAを指す場合、それは誤りです。正の値が配列の制限を超えている場合、それは偽です。 例 次の例は、0から始まります: [-1, -1, -1, 6, -1, -1, 3, -1, -1] Truthy (position 3 points to position 6 and vice versa) [1, 0] Truthy (position 0 points to position 1 and vice versa) [0, 1] Falsey (positions 0 and 1 point to themselves) [4, 2, …

2
これはWeyr行列ですか?
基本的なワイア正準型と呼ばれるn × n行列Wのタイプがあります。このようなマトリックスはブロックで記述され、次の参照図を使用して次のプロパティを持ちます。 主対角ブロックW IIがあり、N I ×N iが λ形式の行列I N I I N iはあるN I ×N I恒等行列。 nは1 ≥N 2 ≥...≥N R 最初の対角ブロックW K-1、K用2..r∈Kであり、N K-1 ×N Kである行列の行還元階段状のフル列ランクは、以上簡単に言えば、I N k個の上に座っn k-1 -n k行のゼロ。 他のすべてのブロックは0行列です。 例えば: 主な対角ブロック(黄色)は、n iが4、2、2、および1であるようなものです。 最初の超対角ブロックは緑色です。 グレーゾーンは、他のすべてのブロックで構成され、すべて0です。 この課題では、λ= 1と仮定します。 入力 任意の便利な形式の0と1の正方行列。 出力 入力行列がWeyrであるかどうかについて、2つの異なる値のいずれかを出力します。 ルール これはcode-golfです。各言語の最少バイト数が優先されます。標準のルール/抜け穴が適用されます。 テストケース 行の配列として提示されます。 ワイアー: [[1]] …

12
でこぼこに乗る
あなたの仕事は、少なくとも長さ2の正の整数のリストを受け取り、それらが「ジグザグ」であるかどうかを判別するコンピュータープログラムまたは関数を作成することです。シーケンスがジグザグになっているのは、数字が交互に前後の数字よりも大きい場合と小さい場合だけです。たとえば、とはジグザグですが、とはありません。[ 4 、2 、3 、0 、1 ] [ 1 、2 、0 、0 、3 、1 ] [ 1 、2 、3 、1 ][ 1 、2 、0 、3 、2 ][1、2、0、3、2][1,2,0,3,2][ 4 、2 、3 、0 、1 ][4、2、3、0、1][4,2,3,0,1][1,2,0,0,3,1][1、2、0、0、3、1][1,2,0,0,3,1][1,2,3,1][1、2、3、1][1,2,3,1] 決定のために、可能性ごとに2つの異なる一貫した値(ジグザグではなくジグザグ)のいずれかを出力する必要があります。 プログラムまたは関数のコードポイントもジグザグそのものでなければなりません。これは、一連のコードポイントを取得するとき、ジグザグになるはずであることを意味します。 これはコードゴルフであるため、回答はバイト単位でスコアリングされ、バイト数は少ない方が良いでしょう。

13
パスカルプライムですか?
奇数の素数がパスカルの三角形に正確に2回現れることはよく知られています。ただし、パスカルの三角形に正確に2回現れるすべての数値が素数であるとは限りません。これらの数字をパスカル素数と呼びます。 パスカル素数は、パスカルの三角形に正確に2回現れる複合数です。最初のいくつかのパスカル素数は 4, 8, 9, 12, 14, 16, 18, ... あなたの挑戦は、nがパスカル素数であるかどうかに応じて、正の整数nを入力および出力としてtrueまたはfalseにすることです。これはコードゴルフなので、最短のプログラムが勝ちです!

2
シールドウォール
歴史的背景 遮蔽壁は、日付がバックにいることを戦術的な戦争の形成である少なくとも 2500 BC。それは、「壁」を形成するために、彼らの盾と仲間の盾を重ねる戦士で構成されていました。戦術の魅力は、最も熟練していない戦士でさえ、盾と武器を持っていれば壁で戦うことができるという事実に由来しています。壁が近接しているため、動き回るスペースがほとんどなく、戦闘は通常、鋭い武器で戦う必殺の試合になりました。 チャレンジ あなたのタスクは、入力として戦士の2つの配列/リスト/ベクトルを与えられ、戦いの結果を決定するプログラムまたは関数を作成することです。リストはシールドの単一行の壁を表し、特定の表記法に従います。 バイキング: 北欧の戦士たちは激しい戦いを繰り広げました。8世紀後半から11世紀半ばにかけて、デンマークのバイキングが英国王国に侵入し、富と農地を探しました。この挑戦のために、これらはバイキングの戦士です: Jarl:通常、壁の中央から部下を率いているのが見つかりました。ジャールはバイキングの大群のリーダーでした。死ぬために15ダメージを受け、ラウンドごとに2ダメージを与えます。 The Berserker:ファンタジーはバーサーカーのイメージを大きく変えましたが、これらの戦士は盾以外の保護なしでトランスのような怒りで戦うことが知られていました。死ぬために6ダメージを受け、ラウンドごとに3ダメージを与えます。 Chieftain:ザ・チーフタンズが彼らのサービスで無料の男性が持っていた金持ちの男性でした。彼らは通常、戦いで大きな栄光と富を獲得していたでしょう。死ぬまでに10ダメージを受け、ラウンドごとに2ダメージを与えます。 フリーMen:族長に仕えた戦士。彼らは死ぬまで領主のために戦うと誓った。死ぬために8ダメージを受け、ラウンドごとに1ダメージを与えます。 Skald:Skalds、通常バードとして翻訳は、北欧の戦士たちの偉業についての詩、物語や歌を書くために雇われた自由人の男性でした。死亡するのに8ダメージを受け、隣接する各戦士に1ボーナスダメージを与えます。スカルドはダメージを与えません。戦士はこの方法で1つ以上のボーナスダメージを得ることができません。 サクソン: 5世紀にローマ帝国が崩壊した後、サクソン人はヨーロッパ大陸からイギリスに定住するようになりました。この挑戦のために、サクソン人の戦士がいます: EARL:Ealdormen、一般アールズと呼ばれるが、高い貴族のメンバーでした。彼らは通常、大規模な土地を持ち、何百人または何千人もの宣誓者がいました。死ぬまでに20ダメージを受け、1ラウンドにつき1ダメージを与えます。 K夜:より良い用語の欠如のために、騎士は、いくつかの土地を所有していたマイナーな貴族でした。ほとんどの場合、騎士は伯爵の宣誓奉公人でした。死ぬまでに10ダメージを受け、ラウンドごとに2ダメージを与えます。 Warrior:一般的な男性、通常はマイナーな貴族の土地や騎士を務めた農民なし。騎士または伯爵に隣接している場合、戦士には+1のダメージボーナスがあります。死ぬまでに8ダメージを受け、ラウンドごとに2ダメージを与えます。 FYRD:Fyrdは、彼らが壁に戦うために持っていた武器(あるいは武器のような実装農業を)持って来るだろうと自由人のグループのような民兵-、通常は貧しい農民でした。死ぬために5ダメージを受け、ラウンドごとに1ダメージを与えます。 P司祭:司祭は神の言葉の先駆者であり、初期のサクソン文化で高く評価されていました。司祭は死ぬために15ダメージを受け、隣接する各戦士に与えられる最大1ダメージを防ぎます。司祭はダメージを与えません。司祭は戦士への1つ以上のダメージを防ぐことはできません。 壁 壁はそれぞれのセンターで出会う。各ラウンドでは、各戦士はその前にいる戦士にダメージを割り当てます。前に生きている戦士がいない場合、残りのヘルスが最も少ない斜めに隣接する生きている戦士に割り当てます。同点の場合は、壁の端に近い戦士を選択します。 例: Vikings [M,M,M,B,B,C,J,C,B,B,M,M,M] [F,F,F,W,W,K,E,K,W,W,F,F,F] Saxons To make matters easier, let's convert these walls into numbers: Round 0: M M M B B C J C B B …

30
私はゴルフ場ですか?
定義と規則 golfyアレイは、各要素が整数の配列であり、より高いまたは等しいすべての前の要素の算術平均。あなたの仕事は、入力として与えられた正の整数の配列がゴルフかどうかを判断することです。 空のリストを処理する必要はありません。 デフォルトの抜け穴が適用されます。 標準入出力メソッドが適用されます。 任意の2つの異なる空でない値を選択できます。それらは一貫している必要があり、他のすべての決定問題ルールを遵守しなければなりません。これはcode-golfで、各言語の最短コードが勝ちます! テストケースと例 たとえば、次の配列: [1, 4, 3, 8, 6] 各項がその前の項の算術平均よりも高いため、ゴルフ配列です。段階的に解決しましょう: 数->前の要素->平均->ルールに従いますか? 1-> []-> 0.0-> 1≥0.0(True) 4-> [1]-> 1.0-> 4≥1.0(True) 3-> [1、4]-> 2.5-> 3≥2.5(True) 8-> [1、4、3]-> 2.(6)-> 8≥2.(6)(True) 6-> [1、4、3、8]-> 4.0-> 6≥4.0(True) すべての要素が条件を尊重するため、これはゴルフの配列です。このチャレンジのために、空のリスト([])の平均はであると仮定することに注意してください0。 その他のテストケース: 入力->出力 [3]-> True [2、12]-> True [1、4、3、8、6]-> True [1、2、3、4、5]-> True [6、6、6、6、6]-> True [3、2]-> False …

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