タグ付けされた質問 「graph-theory」

グラフに関する問題については、オブジェクト間の関係をモデル化するために使用される数学的構造。

9
バイナリツリーを列挙する
二分木 二分木は、3つのタイプのノードを持つツリーです。 子を持たないターミナルノード それぞれが1つの子を持つ単項ノード それぞれ2つの子を持つバイナリノード BNF(Backus–Naur形式)で与えられる次の文法でそれらを表現できます。 <e> ::= <terminal> | <unary> | <binary> <terminal> ::= "0" <unary> ::= "(1" <e> ")" <binary> ::= "(2" <e> " " <e> ")" この文法では、ノードは事前順序で指定され、各ノードは、子の数である数字で表されます。 モッツキン数 Motzkin番号(OEIS)(Wikipedia)には多くの解釈がありますが、1つの解釈は、nth Motzkin番号はnノードを持つ別個の二分木の数であるということです。Motzkin番号の表が始まります N Motzkin number M(N) 1 1 2 1 3 2 4 4 5 9 6 21 7 …

3
島(および川)の地図
前書き 何世紀にもわたって、マッピングされたことのない特定の川がありました。地図製作者のギルドは川の地図を作成したいと考えていますが、成功することはありませんでした-何らかの理由で、川の地図を作成するために送った地図製作者はすべて、この地域の野生動物に食われています。別のアプローチが必要です。 入力説明 領域は、長さmと幅のセルの長方形のグリッドですn。左下のセルはになり0,0、右上のセルはになりますm-1,n-1。mそしてn、タプルとして入力で提供されますm,n。 長距離の地理探査技術を使用することにより、川周辺の島の位置が特定されました。島のサイズ(つまり、島が占めるセルの数)も特定されていますが、形状は特定されていません。我々は、タプルにこの情報を提供する島の大きさであり、そしてその島の一つの特定のセルのxとyの位置です。入力内の各タプルはスペースで区切られているため、入力例を次に示します。s,x,ysxy 7,7 2,0,0 2,3,1 2,6,1 2,4,3 2,2,4 8,0,6 1,2,6 3,4,6 より明確に説明するために、グラフ上の入力を次に示します。 y 6|8 1 3 5| 4| 2 3| 2 2| 1| 2 2 0|2 ======= 0123456 x 出力の説明 ASCII文字を使用して領域の一部を表すマップを出力します。各セルは#(土地)または.(水)のいずれかになります。マップは次のルールに従う必要があります。 定義。島は、川のセルおよび/または地域の境界によって完全に囲まれている、陸のセルの直交的に隣接したグループです。 定義。川、土地細胞および/または領域の境界によって完全に囲まれ、水細胞の直交隣接基でありそして「湖」(水細胞の2×2の領域)を含みません。 ルール。マップには正確に1つの川が含まれます。 ルール。入力内の各番号付きセルは、正確にsセルを含むアイランドの一部でなければなりません。 ルール。マップ内のすべての島には、入力内の番号付きセルの1つが正確に含まれます。 ルール。すべての入力に対して単一の一意のマップが存在します。 入力例の出力は次のとおりです。 #.#.##. #....#. #.##... ##..##. ###.... ...##.# ##....# ここに別の入力と出力があります。 入力: …

3
これは本当のツリーですか?
入力として文字列を受け取り、入力がASCIIツリーの場合は出力または返すプログラムまたは関数を作成する必要があります。 _ \/ / \_/ | | ASCIIツリーは文字/ \ | _ spacesとで構成されますnewlines。 非空白文字は、セルの2つのエッジポイントをラインセグメントで接続します。 / 左下隅と右上隅を接続します \ 右下隅と左上隅を接続します | 下端と上端の中間点を接続します _ 左下隅と右下隅、および下端の中間点を接続します (なお、この手段|のみで接続することができます|か_ではなくて/か\。) 次の規則が適用される場合、ASCIIピクチャはツリーと呼ばれます。 正確に1つの文字の正確に1つのポイント(ルート)が最後の行の下端に接触します。 次の方法で、任意の線セグメントの任意のポイントに到達できます。 ルートから始まる 線分のみを使用する 下方向には決して行かない(横方向にも下がらない) 入力 文字列の文字から成る/ \ | _ spaceとnewline少なくとも1つの非空白文字を含みます。 次の2つの入力形式から選択できます。 ツリーの周りに不要な空白はありません(例で見られます)。 すべての行を同じ長さにするための行の右側のスペースを除いて、ツリーの周りに不要な空白はありません(例にあります)。 末尾の改行はオプションです。 出力 入力がasciiツリーの場合、一貫した真理値。 入力がasciiツリーでない場合、一貫した偽の値。 例 有効なツリー: | _ \/ / \_/ | | …

27
*の通訳を書く
タスクは簡単です。言語*のインタープリターを作成します。 wikiへのより大きなリンクがあります。 有効なプログラムは3つだけです: * 「Hello World」を印刷します * 0〜2,147,483,647の乱数を出力します *+* 永遠に実行します。 3番目のケースは、この質問の仕様に従った無限ループでなければなりません 入力: 入力は、標準のI / Oルールで受け入れ可能な任意の入力方法で取得できます。 上記のプログラムのいずれかになります 出力: 最初のケースではHello World、末尾の改行の有無にかかわらず、正確に印刷する必要があります。 2番目の場合、言語の整数の最大値が2,147,483,647より小さい場合は、言語の整数の最大値を使用します 最初と2番目のケースは、標準のI / Oルールで受け入れ可能な出力に出力できます。 3番目のケースでは、出力は行われません。 得点: これはcode-golfであるため、バイト単位の最短回答が勝ちです。
20 code-golf  interpreter  code-golf  array-manipulation  sorting  code-golf  halting-problem  code-golf  javascript  code-golf  algorithm  code-golf  arithmetic  code-golf  math  counting  code-golf  math  code-golf  decision-problem  radiation-hardening  code-golf  conversion  bitwise  code-golf  number  decision-problem  code-golf  string  decision-problem  code-golf  random  game  code-golf  ascii-art  graphical-output  code-golf  decision-problem  binary-tree  tree-traversal  code-challenge  array-manipulation  code-challenge  graphical-output  path-finding  test-battery  algorithm  code-golf  integer  factorial  code-golf  binary-tree  code-golf  grid  graph-theory  code-golf  regular-expression  quine  code-golf  encoding  code-golf  king-of-the-hill  javascript 

10
迷路は解決できますか?
パズル 迷路n * mを解決できない場合は0を出力します 迷路n * mを解決できる場合は1を印刷します(1つ以上の方法で) (だから私はパスを求めていませんが、それが解決できる場合は!!!) 入力配列(2d): [[0,0,0,0,0,0,1],[0,0,0,0,0,1,0],[0,0,0,0,1,0,0],[1,0,0,0,0,0,0]] XXXXXXXXX XS XX X X X X X X XX FX XXXXXXXXX 0 = can pass through 1 = can not pass trough [0][n] is the last block of the first line [m][0] is the first block of the last …

13
行列内のすべての非ゼロ要素が接続されているかどうかを確認します
入力: 範囲[0-9]の整数を含む行列。 チャレンジ: すべての非ゼロ要素が互いに垂直および/または水平に接続されているかどうかを判断します。 出力: truthy値全てが接続されている場合、及びfalsy値が非ゼロの要素/他の要素/グループに接続されていないグループが存在する場合。 テストケース: テストケースは行で区切られています。テストケースは、より便利な形式でここにあります(Kadas to Dada)。 以下はすべて接続されており、真の値を返す必要があります。 0 --- 0 0 --- 1 1 1 0 0 0 --- 1 0 0 1 1 1 0 0 1 --- 0 0 0 0 0 0 0 0 3 5 1 0 0 1 0 2 0 …

19
三角法プログラムを有効にする
Triangularityは、Xcoder氏によって開発された新しいエソランであり、コード構造は非常に具体的なパターンに従う必要があります。 nコードのth行について2n-1は、プログラムの正確な文字がその上になければなりません。これにより、最初の行は1文字のみで、残りは2ずつ増加する三角形/ピラミッドの形状になります。 各行の.左右にsを埋め込み、文字が行の中央に配置され、すべての行が同じ長さで埋め込まれるようにする必要があります。lがプログラムの行数として定義されている場合、プログラムの各行の長さは2 * l - 1 たとえば、左側のプログラムは有効ですが、右側のプログラムは無効です。 Valid | Invalid | ...A... | ABCDE ..BCD.. | FGH .EFGHI. | IJKLMN JKLMNOP | OPQRS 有効な構造にレイアウトすると、名前が明らかになります。 仕事 あなたの仕事は、三角コードを表す単一行の文字列を入力として受け取り、それを上記のように有効なコードに変換して出力することです。 I / Oの仕様: 入力には、範囲内の文字のみが含まれます 0x20 - 0x7e 入力の長さは常に二乗数であるため、うまくパディング可能です。 出力パディングには、他のものではなくドットを使用する必要があります。 受け入れ可能な任意の方法で入力および出力できます。これはコードゴルフなので、バイト単位の最短コードが勝ちです! テストケース input ---- output g ---- g PcSa ---- .P. cSa DfJ0vCq7G ---- …
19 code-golf  string  code-golf  combinatorics  code-golf  math  number  code-golf  matrix  code-golf  string  decision-problem  code-golf  internet  code-golf  number  number-theory  integer  expression-building  code-challenge  primes  cops-and-robbers  obfuscation  code-challenge  primes  cops-and-robbers  obfuscation  code-golf  string  balanced-string  code-golf  quine  code-generation  code-golf  matrix  code-golf  tips  c#  code-golf  ascii-art  code-golf  ascii-art  source-layout  code-golf  quine  source-layout  popularity-contest  language-design  code-golf  array-manipulation  subsequence  code-golf  matrix  math  code-challenge  game  graph-theory  atomic-code-golf  code-golf  number  integer  polynomials  equation  code-golf  array-manipulation  sorting 

8
マトリックスを通る最適なパス
正の整数で構成される行列を指定すると、左上の要素から右下に移動するときに最小の合計のパスを出力します。垂直、水平、斜めに移動できます。上/下、右/左、および斜めにすべての側面に移動できることに注意してください。 例: 1* 9 7 3 10 2 2 10 4* 1* 1* 1* 7 8 3 6 3 8 9 5* 7 8 10 2 5 2 1* 4 5 1 1 3 6 7 9* 最小の合計を与えるパスはアスタリスクでマークされ、次の合計になります:1 + 4 + 1 + 1 + 1 + 5 + 1 …

2
アイランドゴルフ#2:風変わりな隠者
これは、一連のアイランドゴルフチャレンジの2番目です。前の挑戦 2つの隠者が砂漠の島に到着しました。彼らは孤独を求めてやって来たので、彼らはお互いにできるだけ遠くに住みたいと思っています。彼らは彼らの間の歩行距離を最大にするために彼らの小屋をどこに建てるべきですか? 関連読書 入力 入力は、土地と水を表す2つの文字で構成される長方形のグリッドになります。以下の例では、土地はで#あり、水はです.。ただし、任意の2つの異なるキャラクターを使用できます。 ........... ...##...... ..#####.... ..#######.. .#########. ...#######. ...#####.#. ....####... ........... 常に少なくとも2つの土地タイルがあります。土地のタイルはすべて連続しています(つまり、島は1つだけです)。水タイルも連続しています(つまり、湖はありません)。グリッドの外側の境界線はすべて水タイルになります。ランドタイルは斜めに接続されません。つまり、次のようなものは表示されません。 .... .#.. ..#. .... 出力 コードは、2つの小屋の場所がマークされた同じグリッドを出力する必要があります。以下の例では、小屋の場所にXのマークが付けられていますが、土地や水のキャラクターと区別できる限り、任意のキャラクターに置き換えることができます。 小屋の場所は、それらの間の歩行距離を最大化するように選択された2つの土地タイルでなければなりません。歩行距離は、2つのポイント間の完全な陸上の最短経路の長さとして定義されます。ランドタイルは、水平方向または垂直方向に隣接していると見なされますが、斜めではありません。 上記の島の可能な解決策: ........... ...X#...... ..#####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... これらの2つのポイント間の歩行距離は11で、この島の任意の2つのポイント間の最大距離です。別のdistance-11ソリューションがあります。 ........... ...##...... ..X####.... ..#######.. .#########. ...#######. ...#####.X. ....####... ........... 詳細 あなたの解決策は、完全なプログラムまたは機能かもしれません。いずれかのデフォルトの入力と出力の方法が許容されています。 入力と出力は、複数行の文字列、文字列のリスト、または2D配列/文字のネストされたリスト/単一文字の文字列です。出力には、(オプションで)単一の末尾改行がある場合があります。上記のように、代わりに3つの異なる文字#.Xを使用できます(使用する文字を提出時に指定してください)。 テストケース A.ユニークな小屋の配置がある島: .... .##. .... …

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 

1
探求者
私は最近、本当に奇妙な不規則なチェス盤を手に入れました。正方形はあちこちにあり、すべてがつながっているわけでもありません。少なくとも通常のグリッドに配置されています。チェスのルールを調整してボード上でプレイできるようにしたいのですが、まずは実際にボード上のどこにでも行けるピースが必要です。それはリーパーが最善の策だと思われます。 リーパーは、騎士の妖精のチェスの一般化です。Leapersは、二つの整数でパラメータ化されたm個及びN及び移動することができるM個の、別の一方向に正方形をし、n個のいずれかの垂直方向に正方形。標準的なナイトでは、(m、n)=(2、1)があります。移動全体は単一のジャンプと見なされるため、ターゲットに向かう途中のマスは空である必要はなく、存在する必要さえありません。 チャレンジ ボードの一部である正方形を表す正の2D整数座標のリストの形式で「チェス盤」が与えられます。あなたの仕事は、十分な動きがあれば、ボード上の任意のマスに到達できるリーパーを見つけることです。 いくつかの例を見てみましょう。標準のチェス盤は、8x8の正方形の規則的なグリッドを使用します(このチャレンジでは、白い正方形と黒い正方形を区別しません)。 ######## ######## ######## ######## ######## ######## ######## ######## 標準のナイトはそれらすべてに到達できるため(2, 1)、有効な出力になります。ただし、(1, 1)たとえば、このようなピースはどこから開始しても正方形の半分にしか到達できないため、有効ではありません。(1, 0)一方、すべての正方形は直交して接続されているため、有効な出力にもなります。 次のような不規則なボードがある場合: # # # # # # # # # # # そして、可能な解決策がある(1, 1)と(3, 1)。次のような完全に切断された領域を持つボードを使用することもできます。 #### #### #### #### #### #### #### #### 標準の騎士(2, 1)は、ここですべての正方形に到達できますが、実際には唯一の解決策です。 最後に、次の単純なボードには、跳躍者が完全に到達することはできません。 # ## 入力形式はASCII表現ではなく、代わりに座標のリストになることに注意してください。たとえば、上記の2番目の例は次のように指定できます。 [[1, 1], [5, 1], …

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

2
首謀者の戦略
私は、Mastermindのコードゴルフチャレンジしか見つけることができなかったので、ここに、自分が挑戦したいコードチャレンジバージョンを示します。 通常の首謀者ゲームの最適な戦略であるMM(4,6)は、1993年に小山とライによって発見され、平均推測数= 5625/1296〜4.34でした。MM(5,8)はまだ解決されていませんが、推測の平均数は5.5であると推定されます。 あなたの仕事は、MM(5,8)戦略を作成することです。これは、5つの穴と8つの色に対応し、すべてのpow(8,5) = 32768可能な個別のソリューションをカバーします。明らかに、最適なものである必要はありません。次の2つの選択肢があります。 戦略を生成する決定論的プログラムを投稿します。このプログラムは、Windows 7、Mac OS X、またはLinux上で、フリーでないソフトウェアを追加せずにコンパイル/実行できる必要があります。 戦略を(StackExchange名とともに)インターネット上のどこかに公開し、ここにURLを投稿します。 どちらの場合も、回答のヘッダーにスコア(以下を参照)を明記してください。 戦略は、次の文法に従ってエンコードする必要があります。 strategy : guessing-strategy | known-solution-strategy guessing-strategy : '{' guess ':' branches '}' known-solution-strategy : guess guess : color color color color color color : 'A'..'H' branches : '{' branch (',' branch)* '}' branch : reply ':' strategy …

1
グリッド充填蛇行を完了する
グリッド塗りつぶし蛇行は、正方形のグリッドのすべてのセルを少なくとも1訪問し、隣接するセル間のエッジを2回以上渡らず、それ自体を渡さない閉じたパスです。例えば:N×NN×NN \times N グリッドが満たされると、次の8つのタイルのいずれかでグリッドの各セルを表すことができます。 このように番号を付けると、上記の蛇行のタイルはこのマトリックスで表すことができます。 5 6 5 6 4 8 3 2 5 7 6 2 4 3 4 3 あなたの仕事は、タイルの不完全なセットを与えられたグリッド充填蛇行を完了することです。たとえば、不完全な蛇行: ... 0不足しているタイルに対してsを使用して表すことができます: 5 0 0 0 6 0 0 7 0 0 0 0 0 0 3 2 4 0 0 0 0 0 3 0 0 ...このように完了することができます: …

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