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

グリッドに関する課題。

5
地形到達可能性
Advance Wars、Wargroove、Fire Emblemなどのターンベースの戦術ゲームは、地形のタイプごとに異なるコストを必要とする異なる移動クラスのユニットを持つ、さまざまな地形の正方形グリッドで構成されています。その問題のサブセットを調査します。 チャレンジ あなたの仕事は、地形コストと移動速度のグリッドを考慮して、ある場所が別の場所から到達可能かどうかを判断することです。 ユニットは、正方形に移動するコストがグリッド上の対応するセルの値である場合にのみ直交移動できます(移動は無料です)。たとえば、3の値のセルから1の値のセルに移動するには1回の移動が必要ですが、他の方法で移動するには3が必要です。一部の正方形にはアクセスできない場合があります。 例 1 [1] 1 1 1 1 2 2 3 1 2 3 3 3 4 1 3 <1> 3 4 から[1]に移動するに<1>は、右に1マス、次に下に3マス移動することにより、最低7つの移動ポイントが必要です。したがって、移動速度として6以下を指定した場合、偽の答えを出力する必要があります。 テストケースの例 これらは、解析を容易にするために、開始と終了に角かっこで囲まれたセルではなく、左上の原点のゼロインデックス(行、列)座標を使用します。到達不能なセルはX ケース1a 1 1 2 1 X 1 2 2 1 1 2 1 1 2 1 X X X 1 …

6
私をここから連れ出してください
チャレンジ グリッドサイズ、障害物の位置、プレイヤーの位置、ターゲットの位置を考えると、プレイヤーがターゲットに到達し、同時に障害物を回避するためのパスを見つけることが必要です。 入力 N:グリッドサイズN x N P:プレイヤーの位置[playerposx, playerposy] T:ターゲットの位置[targetposx, targetposy] O:障害物の位置[[x1, y1], [x2, y2],...,[xn, yn]] 出力 パス:パスプレーヤーはターゲットに到達するために使用できます[[x1, y1], [x2, y2],...,[xn, yn]] ルール ポイント[0,0]はグリッドの左上隅にあります。 プレイヤーの位置は常にグリッドの左側になります。 ターゲットの位置は常にグリッドの右側になります。 グリッドには常に少なくとも1つの障害があります。 プレーヤーまたはターゲットの位置に障害物が重なっていないと想定できます。 必ずしも最小パスを見つける必要はありません。 プレイヤーは、左、右、上、下のみを斜めに移動することはできません。 任意の便利な方法で入力を取得できます。 プレイヤーがターゲットに到達するためのパスは常に存在すると仮定できます。 明らかに、入力ごとに複数の有効なパスが存在するため、1つを選択します。 N > 2グリッドが少なくともであると仮定し3 x 3ます。 例 入力:9、[6, 0]、[3, 8]、[[0, 5], [2, 2], [6, 4], [8, 2], [8, 7]] …

6
有理生成関数の係数を見つける
数値のシーケンスをべき級数の係数として記述する場合、そのべき級数はそのシーケンスの(通常の)生成関数(またはGf)と呼ばれます。つまり、ある関数F(x)と一連の整数a(n)について次のようになっている場合: a(0) + a(1)x + a(2)x^2 + a(3)x^3 + a(4)x^4 + ... = F(x) 次にF(x)はの生成関数ですa。たとえば、幾何級数は次のことを示しています。 1 + x + x^2 + x^3 + x^4 + ... = 1/(1-x) したがって、の生成関数は1, 1, 1, ...です1/(1-x)。上記の式の両側を微分して乗算するxと、次の等式が得られます。 x + 2x^2 + 3x^3 + 4x^4 + ... = x/(1-x)^2 したがって、の生成関数は1, 2, 3, ...ですx/(1-x)^2。関数の生成は非常に強力なツールであり、それらを使用して多くの便利なことができます。簡単な紹介はここにありますが、本当に徹底的な説明のために、素晴らしい本生成機能があります。 この課題では、入力として有理関数(整数係数を持つ2つの多項式の商)を、最初に分子、次に分母の2つの整数係数の配列として受け取ります。たとえば、関数f(x) = x …
12 code-golf  math  integer  polynomials  code-golf  math  abstract-algebra  restricted-time  code-golf  math  primes  code-golf  math  number  arithmetic  code-golf  quine  code-golf  number  sequence  code-golf  string  number  code-golf  array-manipulation  code-golf  number  code-golf  string  code-golf  arithmetic  code-golf  string  array-manipulation  rubiks-cube  code-golf  math  number  code-golf  tips  bash  code-golf  ascii-art  music  code-golf  arithmetic  code-golf  math  number  arithmetic  integer  code-golf  number  array-manipulation  code-golf  geometry  grid  set-partitions  code-golf  math  number  code-golf  combinatorics  code-golf  regular-expression  code-golf  permutations  code-golf  ascii-art  code-golf  number  array-manipulation  matrix  code-golf  kolmogorov-complexity  compile-time  cops-and-robbers  polyglot  cops-and-robbers  polyglot  code-golf  string  code-golf  string  ascii-art  matrix  animation  code-golf  ascii-art  code-golf  string  balanced-string  code-golf  integer  integer-partitions  expression-building 

3
この咬傷は私のものでしたか?
昨日、サンドイッチをテーブルに置いた。私が今日起きたとき、それはかみ傷がありました...それは私のものでしたか?思い出せない... 問題: サンドイッチと私のかみ傷のパターンを見て、それが私のかみ傷だったかどうか教えてください。 例: 例1: 私の噛みつきパターン: .. . サンドイッチ: ##### .#### ..### 出力: truthy 例2: 私の噛みつきパターン: .. .. サンドイッチ: ...## ..### .#### 出力: falsy 例3: 真実と見なされる回転が少なくとも1つある場合、出力は真実です。 私の噛みつきパターン: . . . サンドイッチ: ##. #.# .## 出力: 2つの可能な回転(北東または南西の角を噛む)。 truthy 有効なバイト: .. . ... . . . . . .. . . .. …

5
4回目はインフルエンザになりますように
明日は5月4日であるため、明日来るすべての悪いジョークに精神的に準備するための小さなスターウォーズテーマの投稿があります。 バックストーリー 銀河上院のセッション中、すべての上院議員はn*nグリッドに座っています。JarJarインフルエンザの突然の発生(これは永久に続き、感染者がJarJar Binksのように話す)により、上院議員の一部が感染します。 感染した上院議員がいる6*6グリッドの例を次に示しXます[[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[0,5]]。対応するリストは次のとおりです。 その後、感染は段階的に広がり始めます。2つの上院議員は、グリッド上のエッジ全体を共有する場合(つまり、上、下、右、左)に隣接します。つまり、対角線を除外します。 上院議員が他の2、3、または4人の上院議員に隣接できると結論づけ、感染に関する次の規則を主張できます。 感染した上院議員は永遠に感染したままです 上院議員は、前のステップで2人以上の感染した上院議員に隣接していた場合、そのステップで感染します。 感染の最初の2つのステップを示す前のグリッドの例を次に示します。 次のステップの後、すべての上院が感染します あなたのタスク コードは、リストのような無効な入力や、n*n区別できない座標を処理する必要はありません。 あなたのコードは入力としていくつかの整数のリスト(またはバイナリグリッドまたはあなたの言語に適した他のフォーマット)と整数n(リスト以外のフォーマットを使用する場合は不要な場合があります)を取ります: 8 [[1,2],[1,1],[7,4],[2,7],[4,3]] nはグリッドの側面であり、グリッドはan * nグリッドであり、整数のペアのリストは最初に感染した上院議員のセルの座標です。 グリッドの左下は[0,0]で、右上は[n-1、n-1]です。左上は[0、n-1]です。 コードは整数を出力する必要があります: -1 または、グリッド全体が完全に感染することはない場合、またはグリッド全体を感染させるのに必要な最小ステップ数である場合は、偽の値またはエラー テストケース 6 [[0,5],[1,4],[2,3],[2,1],[3,3],[3,0],[4,5],[5,0]] => 7 4 [[1,1][0,3][1,0][3,0][3,3]] => 9 これはcode-golfであるため、バイト単位の最短回答が優先されることに注意してください。
12 code-golf  grid 

3
グリッドは曲線を描くことができます。あなたはどれくらいですか?
幅W x高さHのテキストグリッド上に、曲線の一部を表し、空のスペースを表し、他の文字は使用されていない、シンプルでオープンな 2次元曲線を描くことを検討してください。X. すべてのグリッドスペースには、8つの隣接するグリッドスペース(ムーア近傍)があります。境界線を超えるグリッドスペースは空と見なされます。 グリッドに曲線が含まれるのは、正確に1つある場合、X または複数のX場所がある場合です: 正確には2つXのsには1つの隣接しかないX。これらは曲線の終点です。 Xエンドポイント以外のすべては、正確に2 X秒に隣接しています。これらは曲線の大部分を形成します。 たとえば、W = 9およびH = 4のこのグリッドには曲線が含まれます。 ....X.... .X.X.X.X. X..X..X.X .XX.....X 同様に、これらのグリッド(W = 4、H = 3)には曲線があります。 .... .X.. .... .... .X.X .... X..X ..X. XX.. X.X. ..X. .XX. .X.. .... .... ただし、これらのグリッドには曲線が含まれていません。 .... .XX. ...X XX.. .... X.X. .... X..X ..XX XX.. .X.X …

1
これらのセルをグループ化します!
この課題は、ゲームLayerzに基づいています。 標準入力または関数の引数として、各セルに空白(ペナルティなしで空白の代わりに0を使用することを選択できます)、1、2、3、または4のいずれかを含むセルの2D長方形配列; 各非空白セルがちょうど1つの領域に含まれるように、それを有効な領域(以下に定義)に分割する方法を見つけます。次に、見つかったソリューションを適切な形式で出力します。解決策がない場合は、出力を生成せずに停止するか、単一のfalsey値を出力して停止します。 次のいずれかが有効なリージョンを構成します。 1を含む単一のセル 2を含むセルと、その非空白の直交ネイバーの1つを含む 3つおよび正確に2つの非空白の直交近傍を含むセル 4のセルと、厳密に3つの非空白の直交ネイバーを含むセル これはcode-golfであるため、バイト単位での最短の有効な回答が優先されます。 いくつかのテストケース: 1.かなり些細なもの: これが解決策であり、各領域は異なる色になっています。 2.より興味深いもの これには複数のソリューションがありますが、そのうちの1つを次に示します。 3.解決策を持たない、空白を含む小さなもの(2つのうちの1つを使用して3つを「キャプチャ」するか、3つを使用して2つのうち2つを取得するかによって、隣接しない(したがってグループ化できない)2つのペアまたは単独の2つのペア): このグリッドには解決策がないため、このグリッドが与えられたときに出力を生成せずにプログラムを停止する必要があります。 4.これは(上の2つのセルを1つ左にシフトした)解決策があります: 解決: (右下2は3を「キャプチャ」するために使用されます) 5.いくつかの4つのテストケースが必要だったため: 1つのソリューション:

1
正方形はいくつありますか?
この課題は、のように見えることが多いFacebook上でローミングする絵に触発され、この。ベーススクエアが次のようになることを除きます。 ┌─┬───┬─┐ ├─┼─┬─┼─┤ ├─┼─┴─┼─┤ ├─┼─┬─┼─┤ └─┴─┴─┴─┘ 正方形はn x m1x1の正方形で構成されているため、その正方形に収まるサブ正方形(1x1、2x2、3x3、4x4、5x5など)の数を数える必要があります。正方形には、いくつかのグリッド線が欠落している場合があります(上記の例のように)か、下の例のように完全になります。これは数学的な故障があることを意味しません(私の知る限り)可能。 入力: n正方形を構築するための入力の行数()。 :次の文字から作られた正方形の─ ┐ ┌ └ ┴ ┘ ┬ ├ ┤ ┼ |間でnの入力のライン。 出力: 入力正方形に収まる任意のサイズの正方形の量(ここでは、各サイズの数値ではなく、1つの数値のみが必要です)。 受賞基準: 最小の回答(バイト数)が優先されます。 テストケース: に: 5 ┌─┬─┬─┬─┐ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ ├─┼─┼─┼─┤ └─┴─┴─┴─┘ アウト: 30 に: 3 ┌─┬─┐ ├─┼─┤ └─┴─┘ アウト: 5 に: 5 ┌─┬─┐ ├─┴─┤ ├───┤ ├─┬─┤ └─┴─┘ …

2
回転に対して安全なラテン方格
ラテン方陣は、X列またはY列のいずれにも繰り返されるシンボルがない正方形です。例えば: ABCD DABC CDAB BCDA そのような正方形の一つです。すべての列と行に同じ4文字の順列が含まれていることに注意してください。 しかし、ラテン方陣には問題があります 。2番目の行(DABC)1を左に回転させるとABCD、上の順列と同一ので終わることになります。1列/行を回転して別の列/行を取得する ことが不可能な場合、正方形は回転しても安全であると見なします。 例えば: ABCD BDAC CADB DCBA 回転は安全です。グリッドには次のプロパティがあります。 ポイント[0、N]はN番目のシンボルを使用します ポイント[0、N]と[N、0]は常に同じシンボルです。([x、y]と[y、x]も常に同じ文字であると言いたいのですが、証明できません) あなたの仕事は、N を渡したときに1つの回転安全なラテン方陣を印刷することです。文字、数字、リスト、または2D配列を出力してもかまいません。 数字を使用する場合、一番上の列と行は0,1,2,3,...(この順序で)なければなりません。文字を使用する場合は、A,B,C,D,.... たとえば、入力が4の場合、次のいずれかを印刷する必要があります。 0,1,2,3 0,1,2,3 1,3,0,2 or 1,0,3,2 2,0,3,1 2,3,1,0 3,2,1,0 3,2,0,1 サイズが4未満の回転に対して安全なラテン方陣はありません。Nが4より小さい場合、プログラムが何をするかは気にしません。 2,5,5906,(too long to calculate) これはコードゴルフですので、お気に入りの言語でできるだけ短く答えるようにしてください!

2
ワード検索ヘルパー
私は最近、単語の検索を行ってきた、と私は可能だろうと思ったので、言葉のすべてが読めばはるかに簡単に左から右へ。しかし、すべての行を書き換えるには多くの労力が必要です!だから私はコードゴルファーを助けるために参加しています。 (免責事項:上記のストーリーは、リモートで正確である場合とそうでない場合があります。) コードは長方形のグリッドを取り、すべての行を両方向に出力します。 出力には、グリッドの8つのすべての回転(基数と主対角線)が含まれている必要があります。(これは、すべての「行」が複製されることを意味します-一度前方に、一度後方に。) 行分割は、スペースまたは改行のいずれかです。スペースを選択する場合、グリッドの回転分割は改行にする必要があります。それ以外の場合、グリッド回転区分は2つの改行でなければなりません。 入力例(文字の配列、複数行の文字列、またはその他の適切な形式として取得) ABCDE FGHIJ KLMNO PQRST 出力例(部門の最初のオプションを使用) ABCDE FGHIJ KLMNO PQRST E DJ CIO BHNT AGMS FLR KQ P EJOT DINS CHMR BGLQ AFKP T OS JNR EIMQ DHLP CGK BF A TSRQP ONMLK JIHGF EDBCA P QK RLF SMGA TNHB OIC JD E PKFA QLGB …

1
小さなダイアモンドスクエアアルゴリズム
ダイアモンドスクエアアルゴリズムは、フラクタル地形(ハイトマップ)生成アルゴリズムです。ここで、それがどのように機能するかについての素晴らしい説明を見つけることができます: http://www.gameprogrammer.com/fractal.html(参照として使用されます。) http://www.playfuljs.com/realistic-terrain-in-130-lines/(素晴らしいJS実装。おそらく、彼のレンダラーを盗むことをお勧めします。このアルゴリズムがhttp:// demosに対応しているものをご覧ください。 playfuljs.com/terrain/。) 一般的なアイデアは、シードとして4つの角を持ち(a)、それらの4つの角を平均し、たとえば-0.5〜0.5(b)の間のランダムな値を追加することで中心点の高さを計算することです。これをグリッドに適用すると、再びダイヤモンドのグリッド(正方形45°)が得られ、同じ(c、d)を繰り返しますが、ランダムな範囲は小さくなります(例:-0.125から0.125など)。 プログラムはいくつかの入力を受け入れる必要があります。 l=1,2,3,...辺の長さの正方形グリッドのサイズを決定する整数2^l+1。で、l=10あなたは約百万の番号を保存する必要があります。 各コーナーに4つのシード(浮動小数点) ランダム範囲の初期の大きさを意味する0<h<1(Hリンクの)粗さを決定するパラメーター a,bランダム範囲の初期の下限と上限を表すパラメーターでh、各洗練ステップで乗算されます。(乱数はaとの間で一様に選択されbます。 出力は、完成した2Dグリッドで構成されている必要があります。 したがって、大まかなアルゴリズムは次のようになります。 Create a square grid with sidelength 2^l+1 Place seed values in the corners Repeat: | Perform square steps | Refine Range: a = a*h; b=b*h; | Perform diamond steps | Refine Range 注意すべき詳細が1つあります。グリッドの境界には、ダイヤモンドの頂点が3つしかありません。したがって、これらの3つのポイントの平均のみを計算する必要があります。 いくつかの例の視覚化(使用したパラメーターを教えてください)はオプションですが、高く評価されており、もちろんバイトカウントには追加されません。 このアルゴリズムのわずかに変化した実装は、ここで見つけることができます:平行投影ボクセル地形ジェネレータ 2dのハイトマップをグレースケールイメージとして表示するための小さな描画関数をjavascriptで作成しました。http://jsfiddle.net/flawr/oy9kxpsx/ あなたの誰かが3Dに夢中になっていて、3Dで地図を見るためのスクリプトを作成できるなら、私に知らせてください!=)
12 code-golf  random  grid 

2
nを法とする数論のインタープリター
(私たちの目的のための)数論の文は、次の記号のシーケンスです。 0および'(後継者)-後継者は+1、0'''' = 0 + 1 + 1 + 1 + 1 = 4 +(加算)と*(乗算) = (に等しい) (と)(括弧) 論理演算子nand(a nand bis not (a and b)) forall (ユニバーサル数量詞) v0、v1、v2、など(変数) ここに文の例があります: forall v1 (forall v2 (forall v3 (not (v1*v1*v1 + v2*v2*v2 = v3*v3*v3)))) ここでnot xは省略形ですx nand x-実際の文が使用する(v1*v1*v1 + v2*v2*v2 = v3*v3*v3) nand …
12 code-golf  number-theory  parsing  code-golf  kolmogorov-complexity  code-golf  code-golf  array-manipulation  matrix  code-golf  array-manipulation  code-golf  string  code-challenge  graphical-output  compression  code-golf  kolmogorov-complexity  code-golf  sequence  array-manipulation  code-golf  number  base-conversion  code-golf  string  decision-problem  code-golf  string  ascii-art  code-golf  string  random  code-challenge  brainfuck  code-generation  code-golf  code-golf  quine  code-golf  interpreter  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 

3
グリッド上のあいまいな場所
4つの距離センサーを備えた小さなロボットがあります。部屋のレイアウトは知っていますが、グリッドの方向に固定できること以外の方向感覚はありません。読み取り値に基づいてロボットがどこにあるかを見つけたいが、センサーが限られているためあいまいになる可能性があります。 チャレンジの説明 部屋のレイアウトと時計回りの4つの距離測定値が表示され、あなたと壁の間のセル数が示されます。部屋の中央に壁があり、グリッドの端も壁です。ロボットを壁の上に置くことはできません。 あなたの目的は、ロボットがそこにいる可能性のある部屋内のすべての場所をリストし、与えられた読み取り値を与えることです。ロボットには向きの感覚がないため(グリッド上の90度の角度にロックされていることを除きます。つまり、ロボットが斜めになったり、他のスキュー角度になることはありません)、[1、2、3、 4]は、たとえば、[3、4、1、2]と同じです。 例 これらの例では、セル座標は、左上のセルから0のインデックス(x、y)のペアとして与えられます。読み取り値は、角括弧で囲まれたリストで時計回りに表示されます。レイアウトでは、空のセルを表すために、壁やその他の文字(通常はドット)にポンド記号を使用します。 事例1 . . . . . . . . . . # . . . . . [1、0、2、3] ==>(1、0)、(3、1) [0、0、3、3] ==>(0、0)、(3、0)、(0、3)、(3、3) [2、1、1、0] ==>(0、2)、(2、1) [1、1、2、2] ==>(1、1) 事例2 # a . # a . a # . . # a . . # . . …
11 code-golf  grid 

17
行列がテプリッツ行列であるかどうかを確認します
2次元の配列と数値が与えられ、与えられた行列がテプリッツかどうかを尋ねられます。 入力フォーマット: two-dimensional引数として行列を取る関数が与えられます。 出力フォーマット: 1行列がテプリッツの場合は関数から戻り、そうでない場合はを返し-1ます。 制約: 3 < n,m < 10,000,000 ここnで、行mの数は列の数になります。 サンプルテストケース: Sample Input : 4 5 6 7 8 9 2 4 6 7 8 9 1 4 6 7 8 0 1 4 6 7 Sample Output : 1 得点 これはcode-golfであるため、バイト単位の最短回答が優先されます。

13
3x3グリッドでネイバーインデックスを返す
さて、コードゴルフの2回目の試みで、これがどうなるか見てみましょう。 9つの値の配列があるとします。3x3グリッドの配列を想像してください。 その数が配列のインデックスとして持っているネイバーを返す必要があります。 0 | 1 | 2 3 | 4 | 5 6 | 7 | 8 ルール: それはコードゴルフですので、最短の回答が勝ちます。 ふり配列のインデックスは0または1から開始できます(ただし、すべての例で0を使用しています)。 値を返すだけで値が眉をひそめます(などif 3: return 046) 提出は単なるプロシージャ/関数/メソッドですが、例はいいでしょう 返される値は任意の順序にすることができます(入力が0の場合、13または31になる可能性があります) 必要に応じて、出力は数値のリストにすることができます。たとえば[0,4,6]、046 例からわかるように、対角線はカウントされません。 例: 入力: 0 出力: 13 入力: 3 出力: 046 入力: 4 出力: 1357
11 code-golf  grid 

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