タグ付けされた質問 「grid」

グリッドに関する課題。

8
KOTH:みんなトークンが大好き
このゲームでは、2人のプレイヤーがトークンの最も多くのポイントを食べるために競いますが、ひねりがあります!同じ色の行で複数のトークンを食べると、増え続けるボーナスが得られますが、気を付けないと、相手はあなたが望む前にあなたが望むトークンを食べることであなたの計画を妨害します! ルール: 1対1 n x nボード(5x5〜15x15のランダムサイズ) あなたとあなたの対戦相手は同じランダムなセルに出現します ボード全体で、値が1〜3の範囲のいくつかのセルでランダムに生成された数値になります。 2 *(ボードの幅)トークンが生成されますが、オーバーライドが存在する可能性があるため、偶然少ない可能性があります。 各数値は、赤、緑、または青の16進数RGB形式の3色のいずれかです。 ラウンドごとに、プレーヤー1が移動してボードが更新され、次にプレーヤー2が移動してボードが更新されます。そのため、各プレイヤーは、ボードの状態の変化に基づいて、前のプレイヤーがどのような動きをしたかを効果的に知ることができます。後述するように、これはゲームが終了するまで続きます。 ターンには6つのアクションがあります:UP、RIGHT、DOWN、LEFT、EAT、PASS 4つの移動コマンドは一目瞭然であり、自分のターンをパスできます。あなたが無意味な動きを返す場合、我々はあなたがパスを意味すると仮定します。ボードの端から移動しようとしても、移動しません。エッジはラップしません。 EATは、現在と同じスペースにいる番号を消費します 消費した数だけポイントを獲得できます 同じ色の2つの数字を連続して食べると、+ 1が得られます 同じ色の3つの数字を連続して食べると、+ 2になります 同じ色の行にm個の数字を食べると、+(m-1)が得られます これらのボーナスは累積的に追加されるため、m個の数字を連続して取得すると、異なる色を食べるまでに合計ボーナスがm *(m-1)/ 2になります。 ゲーム終了条件: すべての数字が消費されます 4 *(ボードの幅)ターンはいずれかのプレイヤーによって発生した効果的な食事なし(あなたがいないトークンなしで "EAT"と言うだけ)になりました(トークンは2 *(幅)で到達可能です)移動するため、両方のプレイヤーが単一のターゲットトークンを念頭に置いていない場合にのみ、この境界を超えます) AIが移動するのに要する時間は1秒未満です。そうでない場合、PASSが選択として想定されます。 トーナメントは、100または1000などの多数のラウンドを含むラウンドロビンになります。ランダムなボードが生成され、異なるボードの各注文ペアがそのボードで実行されます。トーナメントが完了したら、合計スコアで人々をランク付けします。あなたがゲームのプレイヤー2であっても、目標は可能な限り多くのポイントを獲得することです。 AIの提出:コントローラーがサポートする言語はJavascriptです。複数の提出が許可されています。誰もがこのようなオブジェクトのコンストラクタを送信します: function (player1) { this.yourMove = function (b) { return "MOVE"; } } 入力player1は、プレイヤー1であるかどうかを示すブール値です。コンストラクタにはyourMove関数が必要ですが、追加の関数や値をいくつでも持つことができます。グローバル変数を定義せず、オブジェクトに変数として配置するだけです。オブジェクトの新しいバージョンは、各マッチの開始時に作成され、 yourMove現在のボードを入力として、各ターンで呼び出され、有効なムーブを返す必要があります。 b入力は、yourMove、であるコピー現在のボードのあなたがそれらを自分で呼び出すことはできませんが、ここでのコンストラクタは、入力例を、以下のとおりです。 function token(color, …

8
英数字スパイラル
タスクは非常に単純で、入力が与えられると、次のスパイラルのいずれかを出力します。 Input = 1A左上隅から始まる文字でスパイラルを与える: A B C D E F T U V W X G S 5 6 7 Y H R 4 9 8 Z I Q 3 2 1 0 J P O N M L K Input = 2A右上隅から始まる文字でスパイラルを与えます。 P Q R S T A O …

1
ループ検出-そんなことはありません!
この課題の目標は、ループで囲まれた方向と領域を見つけることです。 入力: これらの文字のみで構成される長方形のグリッド: ^v<> (オプションで、選択した接頭部、接尾部、および分離文字を使用して、グリッド自体の前に10進数でグリッドの寸法を指定することもできます。) ループグリッドでは次を指し、次の1つの点は、最終的に最初の文字に戻っ指し示すように前述の文字の集合です。例えば: <>>v> >>v ^^<>v ^ >v >^<<< ^<<< >^<v> 左のグリッドはサンプル入力です。右側のグリッドは分離されたループです。 入力グリッドには、ループがまったく含まれないか、1つのループが含まれます。グリッドに複数のループが含まれる場合について心配する必要はありません。 出力: グリッドにループが含まれていない場合は、を出力しますX。 グリッドが互いに指し示す2つの矢印を含む場合、output 0。 グリッドに反時計回りのループが含まれている場合、境界線を含め、ループで囲まれた文字をカウントします。その番号を出力します。 グリッドに時計回りのループが含まれている場合、反時計回りのループと同じプロセスに従いますが、その数値の負数を出力します。たとえば、上記の入力グリッドの出力は-11次のとおりです。10はループ自体からのもので、1はループで囲まれた文字からのものです。 これはcode-golfです。最短のコードが優先されます。 テストケース: <<^ ^>v ^v< 出力X。 <<<< ><<< >>^> 出力0。 <>^^< >>>v> <^^>v <^>>v >^<<< 出力-15。 v<<<< >v>>^ v<^<< >>>>^ 出力20。

9
3 x 3の頑丈な正方形をすべて印刷する
(に似頑丈角魔方陣は)Nの整数1の配置である2毎に2×2のサブグリッドが同じ和を有するようにN Nによってグリッドに。 たとえば、N = 3の場合、1つの頑丈な正方形は 1 5 3 9 8 7 4 2 6 なぜなら、2 x 2の4つのサブグリッド 1 5 9 8 5 3 8 7 9 8 4 2 8 7 2 6 すべて同じ額になります23: 23 = 1 + 5 + 9 + 8 = 5 + 3 + 8 + …
24 code-golf  number  arithmetic  number-theory  grid  code-golf  binary  code-golf  popularity-contest  code-golf  chemistry  code-golf  code-golf  date  code-golf  quine  chess  code-golf  hexadecimal  code-golf  number  arithmetic  sequence  array-manipulation  code-golf  math  date  code-golf  typography  code-golf  string  code-golf  string  code-golf  code-golf  math  arithmetic  array-manipulation  grid  code-golf  puzzle-solver  code-golf  music  audio  code-golf  decision-problem  code-golf  geometry  code-golf  number  bitwise  code-golf  string  metagolf  hexagonal-grid  code-golf  string  code-golf  sorting  popularity-contest  code-golf  game  sequence  base-conversion  binary  code-golf  decision-problem  graph-theory  natural-language  code-golf  math  parsing  optimized-output  code-golf  array-manipulation  code-golf  graphical-output  image-processing  tiling  code-golf  graph-theory  path-finding  chess  code-golf  code-golf  balanced-string  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  statistics  code-golf  chemistry 

15
セミパリンドロームパズル
回文とは、それ自体が逆の言葉です。 今ではパリンドロームのように見えるかもしれないがそうではない単語がいくつかあります。たとえば、単語 はパリンドロームsheeshで sheeshはありません。その逆はhseehsどちらが異なるかを考えshてみましょう。しかし、単一の文字と考えると、逆はになりsheeshます。この種の単語をセミパリンドロームと呼びます。 具体的には、単語をいくつかのチャンクに分割して、チャンクの順序が逆になったときに元の単語が形成される場合、単語はセミパリンドロームです。(sheeshこれらのチャンクはsh e e sh)単語の両方の半分からの文字を含むチャンクも必要ありません(そうでない場合、すべての単語はセミパリンドロームになります)。たとえば、元の単語の両側の文字を含むチャンク()があるrearため、セミパリンドロームではありません。奇数の長さの単語の中心文字は単語のどちら側にもないと考えます。したがって、奇数の長さの単語の場合、中心文字は常に独自のチャンクになければなりません。r ea rea あなたの仕事は、正の整数のリストを取得し、それらがセミパリンドロームかどうかを判断することです。コードは、入力がセミパリンドロームの場合とそうでない場合の2つの一貫した等しくない値を出力する必要があります。ただし、コードのバイトシーケンスはセミパリンドロームそのものでなければなりません。 回答はバイト単位でスコアリングされ、バイト数が少ないほど優れています。 テストケース [] -> True [1] -> True [2,1,2] -> True [3,4,2,2,3,4] -> True [3,5,1,3,5] -> True [1,2,3,1] -> False [1,2,3,3,4,1] -> False [11,44,1,1] -> False [1,3,2,4,1,2,3] -> False より多くのテストケースを生成するプログラム。 恐ろしいことは、これらが一般化されたスマランダチェ回文に似ていることを指摘した。したがって、さらに読みたい場合は、1つの場所から始めてください。

5
あなたの土地はどれくらい素晴らしいですか?
この課題では、土地の大きさを計算します。 構築した壁を考慮して、土地のサイズを計算するプログラムまたは関数を作成します。「上」、「下」、「左」、「右」の4つの方向を表す、選択した4つの異なる文字のセットを含む空でない入力文字列が与えられます(^ v < >このチャレンジで使用します)。180度回転(<>または^v)することはできませんが、壁を越えることができます。 土地を「キャプチャ」する方法は、土地を壁で囲むことです。壁自体もあなたの土地の一部とみなされます。いくつかの例を使用すると、より明確になります。私が使用しますo、壁に囲まれた土地のためにx壁自体のために、そしてS壁の開始点のために、ちょうど壁が構築されている方法を説明します。出力は、土地の合計サイズ(の数o、xおよびS以下のテストケース)である必要があります。 Input: >>>> Land: Sxxxx Output: 5 Input: <<<^^^>>>vv Land: xxxx xoox xoox xxxS Output: 16 Input: <<<^^^>>>v Land: xxxx x x x xxxS Output: 11 Input: < Land: xS Output: 2 Input: >>>>>>vvvvvvvvv<<<<<^^^^>>>>>>>>vvvvvvvvvv<<<<<<<<<<<<<<<^^^^^^^^^>>>vvvvvv<<<<< Land: Sxxxxxx x x x x xxxxxxxxx xxxx xoooox x xoox …

2
配管のランダムパス
width w、height h、およびstep countの3つの整数を受け取るプログラムまたは関数を作成しますs。あなたは、非自己交差描画されるランダムウォーク sに長いステップを5*wすることにより5*h、すべての5により画素セルが空にされるか(ピュアベージュ)、またはこれらの12の簡単な「パイプ」の1ピクセルの画像: 上の画像は詳細を示すために拡大されています。実際のサイズのパイプは次のとおりです。 (灰色の線は、パイプタイプを区別するためのものです。) ランダムウォークは、1つのパイプエンドポイント(下から4つのパイプタイプの1つ)で始まり、別のパイプエンドポイントで終わる単一の連続パイプパスになります。 空で開始wすることによりh、グリッドとランダム開始点であることを一つのセルを選択してください。次に、開始する4つの方向のいずれかをランダムに選択し、対応するパイプエンドポイントを描画します。この開始セルは、ウォークの最初のステップをマークし、新しいセルを描画するか、既存のセルを上書きするたびに、別のステップとしてカウントされます。 ここで、選択された方向が有効な場合、適切なパイプセルを描画して、繰り返しランダムに右、左、または直線に進むことを選択します。完全なsステップパスが形成されるまで方向が有効でない場合は、バックトラックして再選択します。パスは、パイプエンドポイントで終了する必要があります。パイプエンドポイントは、パスがたどった経路に応じて、グリッド上のどこかにある場合があります。 2つの直線パイプセルのみを上書きでき、反対方向の直線パイプセルによってのみ上書きできることに注意してください。結果は交差セルになります。それ以外の場合は、すべてのパイプを空のセルに配置する必要があります。 交差点が描画されるとき、開始セルからさらに遠いパスの部分が一番上に描画されます。 グリッドに周期的境界条件(PBC)があるかどうか、つまり、グリッドの片側から出るパイプが反対側に出るかどうかはあなた次第です。PBCがない場合、グリッドの境界は、他のパイプと同様に遭遇する可能性のある障壁としてカウントされます。 特殊なケース s0の場合、パイプは描画されず、出力はイメージごとに空白5*wになり5*hます(つまり、すべてベージュ)。 場合s1つの管スタブであります (実寸:) ランダムに選択された開始セルに描画する必要があります。 その他の詳細 あなたはそれsがせいぜいw*hパスであると仮定するかもしれません。(ただし、交差点により長いパスが可能です。) wそしてh常にポジティブです。 すべてのランダムな選択は、一様にランダムでなければなりません。たとえば、問題が簡単になったとしても、可能であれば交差点を作成することを避けるべきではありません。疑似乱数ジェネレーターが許可されています。 黒、青、ベージュの代わりに、視覚的に異なる3色を使用できます。 彼らは実際にあるように、あなたの出力画像が拡大される5*w*kことにより、5*h*k画素のk正の整数です。(あなたkが1 歳であっても、投稿するサンプルを拡大することをお勧めします。) 一般的なロスレス画像ファイル形式を使用でき、画像をファイルに保存したり、表示したり、生のまま標準出力に吐き出したりできます。 バイト単位の最短コードが優先されます。 例 (すべて500%拡大)。 入力がw=2, h=1, s=0その場合、出力は常に次のようになります。 入力がw=2, h=1, s=1その場合、出力はこれらの画像のいずれかであり、同じチャンスがあります。 入力がw=2, h=1, s=2次の場合、出力は または多分 グリッドにPBCがあると想定されている場合。 (このようにパスを開始すると、2番目のステップが不可能になることに注意してください。) w=3, h=2, s=6PBCを想定した、の可能な出力を次に示します。 w=3, h=3, s=9PBCを想定した場合の可能な出力は次のとおりです。 交差点が2つのステップとしてカウントされるため、パスがすべてのセルをカバーする必要がないことに注意してください。また、交差点の陸橋は後で描かれている必要があるため、コーナーの端点が開始セルであると推定できます。したがって、行われたランダムな選択のシーケンスを推測できます。 start at …

28
シンプルなワードラッパーを作成する
(注:これは私の初めてのコードゴルフの質問ですが、私が知る限り、誰もこれを正確に行っていないので、私は良いはずです。) あなたの仕事は、文字列sと整数を取り込んで、n複数の行に折り返されたテキストを返すか出力するプログラムまたは関数を作成することです。各単語は完全に1行である必要があります。つまり、途中で単語が分割されません。各行はn文字より長くすることはできません。また、各行にできるだけ多くの単語を収める必要があります。 例: s = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed eget erat lectus. Morbi mi mi, fringilla sed suscipit ullamcorper, tristique at mauris. Morbi non commodo nibh. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Sed at iaculis mauris. Praesent a …
22 code-golf  string  code-golf  string  parsing  apl  math  primes  integer  fastest-code  code-golf  math  primes  integer  code-golf  ascii-art  kolmogorov-complexity  code-golf  string  array-manipulation  code-golf  number  code-golf  sequence  code-golf  math  arithmetic  code-golf  date  conversion  code-golf  geometry  combinatorics  grid  code-golf  string  code-golf  counting  java  code-golf  chess  code-golf  path-finding  conversion  atomic-code-golf  logic-gates  code-golf  fibonacci  code-golf  ascii-art  fractal  code-golf  quine  code-golf  string  code-golf  array-manipulation  decision-problem  code-golf  quine  code-golf  code-challenge  array-manipulation  code-challenge  word-search  code-golf  binary  conversion  code-golf  code-golf  restricted-source  code-golf  kolmogorov-complexity  restricted-source  code-golf  kolmogorov-complexity  random  animation 

30
最初に0ではなく、個別の数字でランダムなn桁の数字を取得します
私はこの質問を読み、それがいい挑戦になると思った。 仕事 入力0<n<10で乱数を生成する 正確にn桁 最初ではない 0 そう f(n)>10**(n-1)-1 個別の数字 受賞基準 これはコードゴルフなので、最短のコードが優先されます。 ランダム ランダムに均等に分散されるということです。そのため、プログラムの観点からは、考えられる各数字には同じチャンスがあります。あなたが書いている言語が奇妙な乱数ジェネレーターを持っているなら、それを使用しても大丈夫です。 例 ランダムに選択する値のリストn=2は次のとおりです。 [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

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]] …

1
グリッドタングラムを解く
タングラムは五異なるサイズの三角形、平行四辺形や広場:7つの形状から作られた解剖パズルです。形状が与えられた場合、目標は、すべてのピースを使用して、重複することなく形状を再作成することです。このピースのセットを平面に配置するには、明らかに無限に多くの方法があります。興味深いサブセットは グリッドタングラム 「標準の」タングラム正方形を、グリッドで 16個の小さな正方形に分割された大きな正方形に描画できます。グリッドタングラムは、タングラムのすべての頂点がグリッドポイント上にあるように、タングラムのピースで構成される形状です。 これらは、おそらくより一般的なものよりも扱いやすいため、この課題で検討したいタングラムパズルの種類です。 補足:中国の数学者であるChuan-Chin HsiungとFu Traing Wangは、1942年に凸タングラムが13個しかないことを証明しました。彼らはまず問題をグリッドタングラムに縮小できることを示し、次にいくつかの組み合わせおよび幾何学的引数を使用しました。これらはすべて13です。 チャレンジ 解けるグリッドタングラムが与えられた場合、グリッドタングラムの解剖を7つのタングラムピースに出力します。 IO タングラムは、両側が50pxの倍数である白黒画像(形状は黒、背景は白)として与えられます。グリッドの幅は正確に50pxです。グリッド線は画像の側面に平行です。 編集:画像は入力として受け入れられ、PNG、TIFF、PBMなどの便利なラスター画像形式で出力として返されますが、バイナリ2d配列または文字列または行列としての表現は受け入れられます。 出力も同じサイズで同じ形状である必要がありますが、各ピースの色が異なるか、すべてのピースを分離する白い線が必要です。四角形以外の四角形を反転できることに注意してください。 ピースの境界上のピクセルは、シェイプ上のピクセルと正確に一致する必要はありません。エイリアシング効果やその他のファズがある場合でも、これで問題ありません。 入力と出力の例: 例: 可能な解決策:

10
この正方形は対称ですか?
ちょうど4からなる4×4テキスト・グリッドにかかるプログラムや関数を書くAの、4 B、の4 Cの、及び4 Dの、例えば: ACDC BBCA BADD ABCD のABCD配置は任意ですが、常に4つあります。入力が有効であると想定できます。必要に応じて、末尾に改行があるか、読み取り順序で1行になっていると仮定することもできますACDCBBCABADDABCD。また、必要に応じて、文字ABCDを0123またはで置き換えることも1234できます(ただし、それだけです)。 テキストグリッドに反射対称または回転対称の形式がある場合、真理値を出力します。具体的には: 対称の中央の水平線がある場合。例えば BACD BACD BACD \___ bottom mirrors top BACD / 対称の中心垂直線がある場合。例えば BCCB DAAD CAAC BDDB \/___ right mirrors left 対称の対角線がある場合(どちらの方向にも)。例えば ___ diagonally mirrored / ABDC BACD DCAB CDBA \___ diagonally mirrored 90°回転対称がある場合。例えば BDAB ACCD same if rotated 90 degrees (or …

3
ドットをたどる
チャレンジ 文字の長方形グリッドを考える ABCDE FGHIJ クルムノ PQRST そして、ドットとスペースと同じ寸法のグリッド 。。。 。。。 。。 。。。 左上隅から始まるグリッドをドットでたどって生成される文字列を出力します。この例では次のようになりますABGLQRSNIJE ノート 入力グリッドは、複数行の文字列ではなく、2D配列または言語の最も近い代替物として使用できます。 スペースの代わりに、言語のNULL値を使用できます。ただし、パスをマークするにはドットを使用する必要があります。 同じ行にドットをスペースで区切る必要はありません。読みやすくするために追加しました。 最小のグリッドのサイズは1x1です。 開始点と終了点には、隣人が1人だけいます。それらの間のドットには、常に正確に2つの垂直または水平の隣人がいます。これにより、パスが明確になります。 パスは斜めになりません。 グリッド内の文字は、[a-z]最も便利な範囲内のすべて大文字または小文字のいずれかになります。 パスは常に左上隅から始まります。 ルール 機能または完全なプログラムが許可されます。 入出力のデフォルト規則。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト数が最も少なくなります。Tiebreakerは以前の提出です。 テストケース グリッド#1 ABCABCW デフフク XLUSDQZ ASUKWXI ウコイム アイアイオープ 。。 。。。 。 。。。。 。 。 => ABEFGSKUSAWA 。。。。。。。 。 。。。。 。。。。 。。 。。。。。。。 => ABCABCWQZIMPUOIAIAWAXLUUK …
22 code-golf  string  grid 

2
六角形のロッドscupltureに保持されている水
私は奇妙な彫刻に接着された六角形の棒の束を持っています。棒の長さは1〜99センチメートル(cm)で、断面積は1平方センチメートルです。すべてのロッドは、六角形の面で少なくとも1本の他のロッドに接着されています。ロッドはすべて下端で揃えられています。 大雨の後、彫刻は水で満たされています。それはどれくらいの水を保持しますか? 入力 プログラムは、(stdinまたはファイルを介して)スペースのペアと次の形式のロッドの長さを指定する数字のペアで構成される行を読み込む必要があります。 aa bb cc dd ee ff gg 例に示すように、各ロッド(ここのddなど)は、最大6本の周囲のロッドに接着されています。不足しているロッドは穴であり、水を収集しません。たとえば、入力 04 04 04 01 03 04 04 次の彫刻を表します。 中央の棒は高さです1(その棒が見える角度が見つかりませんでした)。これで、そのロッドの上のコラム3は、右側のロッドから溢れる前に2 cmの水を保持できます。他のロッドはどれもその上に水を保持できないため、答えはになります2。次に、さらに2つの複雑な例を示します。 Example 2: 55 34 45 66 33 21 27 23 12 01 77 36 31 74 answer = 35 ( 2 on top of 21 +11 on top …

7
長方形で地域をカバーする
入力 このチャレンジでの入力は、整数ペアのリストです。それらは平面上の単位正方形の南西の角を表し、リストは平面のサブセットとしての結合を表します。たとえば、リスト [(0,0),(1,0),(0,1),(1,1),(2,1),(1,2),(2,2)] この図の赤色のセットを表します。 出力 Yor出力は、平面の長方形のサブセットを表す整数の4つのリストです。より明確に、(x,y,w,h)四角は、南西隅がである幅w > 0と高さの長方形を表現h > 0し(x,y)ます。長方形は、各単位正方形がいくつかの長方形のサブセットであり、各長方形が領域のサブセットであるという意味で、入力領域を正確にカバーする必要があり、2つの長方形は境界でのみ重なり合う場合があります。些細な解決策を禁止するために、より大きな長方形にマージできる2つの長方形をカバーに含めることはできません。 たとえば、リスト [(0,0,2,1),(0,1,3,1),(1,2,2,1)] 法的カバーを表します 上記の領域の [(0,0,2,2),(2,1,1,1),(1,2,1,1),(2,2,1,1)] 隣接する1行1列の正方形をマージできるため、違法です。 ルール 完全なプログラムまたは機能を提供できます。入力と出力の正確なフォーマットは、理由の範囲内では重要ではありません。最短バイトカウントが優先され、標準の抜け穴は許可されません。アルゴリズムの説明といくつかの出力例を提供することをお勧めします。 テストケース U字型の領域: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(2,0),(2,1),(3,0),(3,1),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5)] 大きな三角形: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(0,9),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(3,0),(3,1),(3,2),(3,3),(3,4),(3,5),(3,6),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(5,0),(5,1),(5,2),(5,3),(5,4),(6,0),(6,1),(6,2),(6,3),(7,0),(7,1),(7,2),(8,0),(8,1),(9,0)] 穴のある正方形: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,5),(1,6),(1,7),(1,8),(1,9),(2,0),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(3,0),(3,1),(3,2),(3,4),(3,5),(3,6),(3,7),(3,8),(3,9),(4,0),(4,1),(4,2),(4,3),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,7),(5,8),(5,9),(6,1),(6,2),(6,3),(6,5),(6,6),(6,7),(6,8),(6,9),(7,0),(7,1),(7,2),(7,3),(7,4),(7,5),(7,6),(7,7),(7,8),(7,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,4),(9,5),(9,6),(9,7),(9,8),(9,9)] 切断された領域: [(0,0),(0,1),(0,2),(0,3),(0,4),(0,5),(0,6),(0,7),(0,8),(1,0),(1,1),(1,2),(1,3),(1,4),(1,6),(1,7),(1,8),(1,9),(2,1),(2,2),(2,3),(2,4),(2,5),(2,6),(2,7),(2,8),(2,9),(4,0),(4,1),(4,2),(4,4),(4,5),(4,6),(4,7),(4,8),(4,9),(5,0),(5,1),(5,2),(5,3),(5,4),(5,5),(5,6),(5,7),(5,8),(5,9),(6,0),(6,1),(6,2),(6,4),(6,5),(6,6),(6,7),(6,8),(6,9),(8,0),(8,1),(8,2),(8,3),(8,4),(8,5),(8,6),(8,7),(8,8),(8,9),(9,0),(9,1),(9,2),(9,3),(9,7),(9,8),(9,9),(10,0),(10,1),(10,2),(10,3),(10,4),(10,5),(10,6),(10,7),(10,8),(10,9)] 検証者 この Python 2プログラムを使用して、ソリューションを検証します。STDINから、コンマで区切られたタプルのリスト(入力)と4倍のリスト(出力)を受け取ります。 また、この Python 2プログラムを作成して写真を生成しましたが、これも使用できます。STDINからタプルまたは4つのいずれかのリストを取得し、という名前のファイルを生成しますout.png。PILライブラリが必要です。必要に応じて、グリッドセルのサイズとグリッド線の幅も変更できます。

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