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

グリッドに関する課題。

3
宇宙船はどこに行くのですか?
Zgarbによって提案されたアイデアに基づいています。 宇宙船は通常の3Dグリッドを動き回っています。グリッドのセルには、右手座標系xyzの整数でインデックスが付けられます。宇宙船は原点から始まり、正のxに沿って向きます軸に、正のz軸が上向きになります。 宇宙船は、空ではない一連の動きによって定義される軌道に沿って飛行します。各動きはF、宇宙船がそのセルの向きに沿って1つのセルを移動させる(順方向)、または6つの回転のいずれかですUDLRlr。これらは次のようにピッチ、ヨー、ロールに対応します。 ダイアグラムを作成してくれたZgarbに感謝します。 UpとD自分自身で宇宙船のピッチを90度変更します(方向は宇宙船の機首の動きに対応します)。 Lエフトと R ightは、宇宙船のヨーを90度変化させます。彼らはちょうど通常の左と右のターンです。 leftとrightは90度のローリング運動で、方向はどの翼が下に動くかを示します。 これらは常に関連する軸が一緒に回転するように、宇宙船に対して相対的に解釈される必要があることに注意してください。 数学的には、宇宙船は最初は位置(0, 0, 0)にあり、(1, 0, 0)ベクトルに沿って(0, 0, 1)上向きに指します。回転は、座標系に適用される次のマトリックスに対応します。 U = ( 0 0 -1 D = ( 0 0 1 0 1 0 0 1 0 1 0 0 ) -1 0 0 ) L = ( 0 -1 0 R …

3
スタックベースの言語をトークン化する
私は、に取り組んできた別のと呼ばれるスタックベースのゴルフの言語Stackgoat。この課題では、Stackgoat(または実際には一般的なスタックベースの言語)のTokenizerを作成します。 例 "PPCG"23+ ["PPCG", '23', '+'] 'a "bc" + ['"a"', '"bc"', '+'] 12 34+-"abc\"de'fg\\" ['12', '34', '+', '-', '"abc\"de'fg\\"'] "foo ['"foo"'] (empty input) [] ' "" ['" "', '""'] 仕様 処理する必要がある3つのタイプは次のとおりです。 ストリングス、何も内"" 数字、数字列 演算子、空白以外の任意の単一文字 空白は、文字列内にあるか、2つの数値を区切っていない限り、本質的に無視されます。 文字列/文字仕様: 文字列はで区切られ、が検出された"場合\、次の文字をエスケープする必要があります。 '文字はa で始まり、その後の'文字は文字列リテラルに変換されます。'a->"a" ' 常にその後に文字があります 終値を自動挿入する必要があります ルール: の形式evalは許可されません 入出力: 入力は、STDIN、関数パラメーター、または同等の言語を通じて取得できます。 出力は、配列または言語に最も近いものでなければなりません。
15 code-golf  parsing  code-golf  hexagonal-grid  code-golf  string  code-golf  string  code-golf  combinatorics  code-golf  ascii-art  code-golf  string  game  counting  code-golf  arithmetic  complex-numbers  code-golf  string  code-golf  decision-problem  hexagonal-grid  code-golf  string  sequence  code-golf  number  arithmetic  code-golf  ascii-art  code-golf  ascii-art  code-golf  string  arithmetic  code-golf  number  simulation  code-golf  number  arithmetic  code-golf  string  sequence  unicode  code-golf  string  ascii-art  balanced-string  code-golf  number  clock  code-golf  ascii-art  number  code-golf  math  number  sequence  code-golf  string  ascii-art  balanced-string  code-golf  math  string  popularity-contest  graphical-output  image-processing  code-golf  string  permutations  code-golf  string  code-golf  random  code-golf  string  cryptography  palindrome  code-golf  chess  code-golf  math  array-manipulation  topology  code-golf  math  sequence  code-golf  keyboard  classification  code-golf  string  sequence  code-golf  natural-language  code-golf  math  number  sequence  sorting  code-golf  sequence  combinatorics  grid  tic-tac-toe  code-golf  geometry  code-golf  number  restricted-source  new-years  expression-building 

2
ラットの迷路を構築するプログラム
あなたは研究助手として雇われ、ラットの迷路を構築する小さなプログラムを作成するように依頼されました。ラットボックスは常に62x22で、次のように、ラットの入り口(a)と出口(A)があります(入力1)。 #######a###################################################### # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #################################################A############ 次のように、プログラムはボックスをブロック(#)で満たし、ラット用のパスを残さなければなりません(出力1)。 #######a###################################################### ####### ###################################################### ####### ###################################################### ####### …
15 code-golf  grid  maze 

2
どうすれば人生でもっと多くのKlotskiを獲得できますか?
私はタイルパズルをスライドさせるのが大好きですが、最近は時間がありませんでした。したがって、スライディングタイルパズル、特にKlotskiパズルを修正するプログラムが必要です。 入力は次の形式になります。 ####### #001gg# ##.222# .###### ここで、#は壁、.オープンエリア、g目標、隣接する数字は異なるブロックを表します。あなたはそれを仮定することができます: 10ブロックを超えることはありません 同じ番号のブロックは2つありません すべてのブロックは壁で囲まれます グリッドは長方形です 0ブロックは、目標の正方形のすべてをカバーするために十分な大きさです。 有効な解決策があります 0すべてのゴールスクエアをカバーするようにブロックを配置する一連の動きを返す必要があります。ブロックは壁や他のブロックを通過できません。上記のパズルの場合、適切なシーケンスは 2L,1R,1R,1D,0R,0R,0R 2ブロックを左に1マス、1ブロックを右に2マス(ゴールの上)、次に1マス下に移動し、0ブロックを右に3マス移動することを表します。 実際には、上記の問題に対して機能するいくつかのシーケンスがあり、それらのいずれかを生成することは許容されます。ソリューションは最適でなければなりません。つまり、できるだけ少ないステップでパズルを解くシーケンスを作成する必要があります。 シーケンスは上記のように出力する必要がありますが、カンマ、改行、またはスペースで区切ることができます。末尾にコンマまたは空白があるかどうかは気にしません。妥当な時間で出力を生成する必要があります(以下のパズルでは最大120秒)。 パズル1: ..####.. ..#00#.. ###00### #......# #.1122.# ##3124## .#3344#. .##55##. ..#gg#.. ..####.. パズル2: ###### #1002# #1002# #3445# #3675# #8gg9# ###### パズル3: .####. ##1g## #22g3# #4255# #4.56# #.006# #7008# ###### パズル4: .####. ##00## #.00g# …

8
ディスクリートベイカーズマップ
前書き ベーカーのマップは、混沌とした挙動を示す重要な力学系です。以下のように直感的に定義された単位正方形からそれ自体への関数です。 正方形を垂直に半分に切り、サイズが2つの長方形になるようにします0.5×1。 右半分を左上に積み重ね、サイズが1つの長方形になる 0.5×2 長方形を圧縮して1×1正方形に戻します。 この課題では、この変換の個別バージョンを実装します。 入出力 入力は、印刷可能なASCII文字の2D配列と2m×2n一部のサイズの空白ですm, n > 0。出力は、配列を使用して、次のように取得された同様の6×4配列です ABCDEF GHIJKL MNOPQR STUVWX 例として。最初に、配列の右半分を左半分の上に積み重ねます。 DEF JKL PQR VWX ABC GHI MNO STU 次に、列を文字のペアに分割し、各ペアを時計回りに90度ずつ独立して回転させ、背の高い長方形を「圧縮」して元の形状に戻します。 JDKELF VPWQXR GAHBIC SMTNUO これは、上記の配列の正しい出力です。 ルール 入力および出力形式は柔軟です。改行で区切られた文字列、文字列のリスト、または文字の2D配列を使用できます。ただし、入力と出力がなければなりません正確に同じフォーマットを持っている:あなたは、任意の有効な入力の上ご応募を任意の回数繰り返すことができなければなりません。 完全なプログラムまたは関数のいずれかを作成できます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース Input: 12 34 Output: 42 31 Input: Hell ! o d - lroW Output: lol …
15 code-golf  string  grid 

20
合計のグリッドを生成する
乱数で満たされた7 x 7のグリッドを生成します。ただし、行番号と列番号が奇数(0から始まる)のセルでは、周囲のセルの合計を使用する必要があります。次に、3 x 3グリッド(太字の二乗和)を使用した小さな例を示します。 2 2 2 2 16 2 2 2 2 次に、7 x 7グリッドの例を示します。 6 5 4 3 7 2 5 6 43 3 50 8 43 8 4 7 8 8 9 3 1 4 36 1 43 6 40 5 3 3 6 1 4 …

5
コードゴルフ:消灯!
すべての可能性を渡す最短のコードが勝つ 多くのグリッドベースのゲームは、点灯するライトのグリッドで開始されます。いずれかのライトを押すと、そのライトとそれに隣接する4つのライトが切り替わります。ライトを切り替えると、最初にオンまたはオフになったかどうかに応じて、オフまたはオンになります。目標は、最後にすべてのライトがオフになるシーケンスでライトをヒットすることです。 「X」は点灯しているライトを表します。「O」は、消灯しているライトを表します。「P」は押された正方形を表します。 XOO XOO XOX XOX XXX XOX XOP -> XXO -> OPO -> XOX OOX OOX POO XXO XOO Intial Grid Press 1 Press 2 Press 3 Ending Grid 入力は、引数または標準入力として渡されたファイルから直接取得できます。入力の最初の行が含まれていますX(1 <= X <= 20)、意味光のグリッドのサイズ、xとにより、X。2行目にはy(0 <= y <=(x * 3)2)、つまり最初に点灯したライトの数が含まれます。次のy行には、グリッド上のライトの座標が「行列」の形式で含まれています。既にオンになっている(以前に切り替えられた)ライトは、再度オフに切り替える必要があります。次の行には、押されたライトの数であるzが含まれます。最終 z 行には、「行列」の形式で、押されたライトの座標が押された順序で含まれています。 間違った入力はありません。すべての数値は、グリッドの指定された境界内にあります。 出力は、すべてのライトが切り替えられた後の最終グリッドになります。それはあるべきn個によって、n個のグリッド。点灯している各エリアには、大文字の「X」を使用する必要があります。消灯している各エリアには、大文字の「O」を使用する必要があります。 グリッド外の影響を受けるライトは無視する必要があります。グリッドのエッジでライトを切り替えると、グリッド自体にあるライトにのみ影響します。 テストケース 入力 4 5 …

10
境界ループで囲まれた領域
周囲のループが90度の回転シーケンスとして与えられたユニットセルの領域の面積を見つけます。 たとえば、3セルの領域を取ります XX X 誰の境界ループを描くか L<S<L v ^ S R>L v ^ L>L 各ターンには、左(L)、直線(S)、ま​​たは右(R)のマークが付いています。Rから始まって、ターンはRLLSLSLLです。したがって、inputが与えられたRLLSLSLL場合、エリアに対して3を出力する必要があります。 入力シーケンスは、左側の単一の領域を囲むループをトレースすることが保証されています。 パスは始点で戻り、最初の方向を向いてループを形成します。 ループはそれ自体と交差したり接触したりしません。 ループは、領域を反時計回りに回ります。 I / O 入力は、文字のリストまたは文字列LSRとして、または-1, 0, 1左、ストレート、右の数字として受け取ることができます。出力は正の整数です。フロートは大丈夫です。 テストケース 入力は両方の形式で与えられ、その後にそれぞれの出力が続きます。 RLLSLSLL LLLL SLLSLL LSRRSLLSSLSSLSSL SSSSSLSSSSSLSSSSSLSSSSSL [1, -1, -1, 0, -1, 0, -1, -1] [-1, -1, -1, -1] [0, -1, -1, 0, -1, -1] [-1, …

7
子供のアルファベットマットは色別に適切にグループ化されていますか?
私の子供には、次のようなアルファベットマットがあります。 数か月後、マットのタイルをランダムに配置した後、疲れて、背景色に応じてセクションごとにグループ化されたマットのタイルをすべて配置しました。したがって、文字が背景色を表す場合、次のようなマットができました。 AABBCDDDE ABBCCCDEE ABCCCCDDE AACCCDDEE AAAACCCCE AAAAAACCC したがって、A、B、C、D、およびEの色については、マット内のすべてのタイルを同じ背景色で水平または垂直に接続する方法が常にあります。それは私が色によって適切にグループ化されたマットと呼ぶものです。次の表で、前の例のグループを確認できます。 AA A A AA AAAA AAAAAA BB BB B C CCC CCCC CCC CCCC CCC DDD D DD DD E EE E EE E また、すべての色に対して1つのグループしかないため、これは無効です。 ABA ABA カラーAタイルは1つのグループのみにグループ化されていないためです。また、タイルは水平または垂直に接続しないため、これも無効になります。 AB BA チャレンジ 印刷可能なASCII範囲の文字の2次元配列(両方の次元のサイズが1以上である限り正方形である必要はありません)が与えられている場合、配列が色で適切にグループ化されたマットを表すかどうかを確認します(配列内の異なる文字はそれぞれ異なる色を表します)。入力は、文字の2次元配列(2D char配列、同じ長さの文字列の配列など)を表す限り、任意の妥当な形式であり、出力は、真偽値と偽値(0 / 1、 't' / 'f'、true / false、何かが返され、戻り値が入力間で一貫している限り)。 これはコードゴルフなので、各言語の最短のプログラム/関数/メソッド/ラムダが勝つかもしれません! …

2
ループの内側を見つける
仕事 ループのASCII図を考える 例えば .................... ......@@@@@......... ......@...@......... .....@@...@@@@@..... ....@@........@..... ....@........@@..... ....@@@@@@@@@@...... .................... .................... そしてループ上の場所 例えば (7,1) ループの内側と外側を見つける必要があります 例えば 00000000000000000000 00000011111000000000 00000011111000000000 00000111111111100000 00001111111111100000 00001111111111100000 00001111111111000000 00000000000000000000 00000000000000000000 仕様書 改行または明らかな同等物で区切られた文字列としてダイアグラムの入力を取得できます 入力の一部として、ループ上の座標(インデックスが0または1)を受け取ります。希望する場所に原点を配置できます。この座標はで(<row>, <column>)、(<column>, <row>)または文字列の線形位置として取得できます。これらのデータは、合理的な方法で受け取ることができます。ループ上のすべての文字は、そのインデックスの文字と同じになります。 好適出力しかし、ストリングのtruthyとfalsy値の2次元配列である1と0改行以降両者の明らかな等価受け入れられることによって分離しました。内側と外側は異なる真理値を持っている必要がありますが、どちらがどちらであるかは関係ありません。 ループは、すべて同じ文字(たとえば@)であり、ループ内のすべての文字が元の文字(入力の座標にある文字)へのパスを持ち、同じ文字のみを通過するように、文字のグループとして定義されます。文字(Taxicabジオメトリ斜めなし)。 内部はすべてループそのものであり、ループを通過せずにダイアグラムの端に到達できない場所です。 外はどこにでもある これはコードゴルフです テストケース ペーストビン

1
サンフランシスコのタクシー
あなたはサンフランシスコのタクシー運転手です。タクシードライバーの典型であるように、移動できる有効な方向は左、右、上、下のみであるグリッドをナビゲートしています。ただし、サンフランシスコは非常に丘が多いため、2つの隣接する交差点間の距離は必ずしも同じではありません。より具体的には、高度aでの交差点と隣接する高度での交差点間の距離bはになります1 + |a - b|。あなたの目標は、地図の左上の出発地から右下の目的地までの最短経路をすべて見つけることです。 入力 最も便利な形式の整数高度の2次元グリッド(2次元配列、幅や高さを持つ1次元配列など)。 出力 最短距離高度の二つの隣接する交点間の距離与えで左上から入力の右下隅に到達する旅行への方向の配列aとbの式で与えられます1 + |a - b|。複数のソリューションがある場合、すべてのソリューションを出力します。 私が使用していますがU、D、L、およびRアップのために、下、左、右、それが中に、すべての入力間にそれらと一致しているとして、方向を表すために、任意の4つの別個の文字列を使用することができ、あなたのプログラム以下の例インチ 例 Input: 0 3 0 0 0 0 2 0 2 0 0 0 0 3 0 Output: D D R R U U R R D D Input: 3 Output: <empty> Input: 11 11 11 …

1
チェッカーズ:キングミー?
チャレンジ: チェッカーボードが与えられた場合、可能な限り最小の動きを出力し(黒がまったく動かないと仮定して)、可能であれば赤の駒をキングします。 ルール: 赤の側は常に下になりますが、それらの駒はどの列からでも開始できます(王の列であっても到達する必要があります)。黒のピースは静止しているため、赤の動きの間に移動することはありませんが、キャプチャされるとボードから削除されます。ピースはボード上の任意のスペースで開始できることに注意してください。これは通常のチェッカーの再生方法ではありませんが、プログラムでこれらを解決できる必要があります。(入力5を参照)ただし、チェッカーピースは斜めにのみ移動する必要があります(入力3を参照)。最初のキャプチャーがチェーンの前方にある場合、逆方向キャプチャーが許可されます(入力7を参照)。 入力: ボードスペースが次の文字として定義されている8x8チェッカーボード(一貫性がある限り自由に代替を使用できます): 。- 空の R-赤いピース B-黒い部分 出力: ボードの一番上の列(黒の側)の王の列に入ることによって「王」になるために赤い駒が必要な動きの最小数。赤いピースをキングすることが不可能な場合は負の数(つまり、黒が最初の行全体を占める)。 入力1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . …

10
最大の列からすべての数字を見つける
比較的簡単な課題を次に示します。 正の整数のリストが与えられた場合: それらをグリッドに並べ、各列を合計します。たとえば、入力がの[123, 7, 49, 681]場合、グリッドは次のようになります。 1 2 3 7 4 9 6 8 1 そして、各列の合計は次のようになります[18, 19, 4]。 1 2 3 7 4 9 6 8 1 -------- 18 19 4 これらの合計の最大値(この場合は19)を見つけてから、 この最大列と同じインデックスにあるすべての数字を出力します。この場合、それは 2 9 8 これらの番号を特定の順序で出力する必要はありません。4つの入力があったとしても、3つの出力しかありません。同点の場合、最も早いインデックスを選択します。たとえば、入力がの[25, 223, 302]場合、グリッドは次のとおりです。 2 5 2 2 3 3 0 2 ------- 7 7 …
14 code-golf  math  grid 

9
ゴルフABCのコード:ASCIIボックスチャレンジ
2つの正の整数 'a'および 'b'を指定すると、幅がa文字、高さがb文字のASCIIアート「ボックス」が出力されます。たとえば、「4」と「6」の場合: **** * * * * * * * * **** 簡単でしょう?ここにひねりがあります:ボックスの境界線は、交互に「a」と「b」の文字でなければなりません。これは左上隅から始まり、時計回りのスパイラルで続きます。たとえば、4と6の前の例は次のようになります。 4646 6 4 4 6 6 4 4 6 6464 AとB は 2桁の数字です。たとえば、入力「10」および「3」はこれを出力する必要があります。 1031031031 1 0 3013013013 出力を比較的小さく保つために、3桁以上の数字をサポートする必要はありません。また、入力は正の整数に制限されているため、「0」は無効な入力であり、処理する必要はありません。 以下に、さらにいくつかのテストケースを示します。 Input: (3, 5) Output: 353 5 5 3 3 5 5 353 Input: (1, 1) Output: 1 …

5
樹木的に満足する点集合を特定する
arborally満足点セットは、対角としてセット内の2点を用いて形成することができる任意の軸に整列長方形のために、その矩形が少なくとも一つの他の点を含む、または接触、ように点の2次元集合です。ウィキペディアの同等の定義を次に示します。 次のプロパティが成り立つ場合、ポイントセットはアーボリーに満たされていると言われます:両方が同じ水平線または垂直線上にないポイントのペアについて、最初の2つのポイント(内部または境界のいずれか)。 次の図は、長方形がどのように形成されるかを示しています。この長方形は少なくとも1つ以上の点を含む必要があるため、この点集合は樹木学的に満たされていません。 ASCIIアートでは、このポイントセットは次のように表すことができます。 ...... ....O. ...... .O.... ...... 少し変更することで、これを十分に満足させることができます。 ...... ....O. ...... .O..O. ...... 上記では、すべての長方形(そのうちの1つだけ)には少なくとも3つのポイントが含まれていることがわかります。 樹木学的に満たされるより複雑な点集合の別の例を次に示します。 2点にまたがって描画できる長方形の場合、その長方形には少なくとも1つの他の点が含まれます。 チャレンジ (私が表す点の長方形のグリッド所与O)および空のスペース(私はと表す.)、出力truthyのそれがarborally満たされる場合、値、またはfalseyのそうでない場合、値。これはコードゴルフです。 追加のルール: 文字Oを選択して、.印刷可能な他のASCII文字のペアと交換することができます。プログラムが使用する文字マッピングを指定するだけです。 グリッドは常に長方形になります。末尾の改行を使用できます。 その他の例 満足している: .OOO. OO... .O.OO .O..O ....O ..O.. OOOO. ...O. .O.O. ...OO O.O. ..O. OOOO .O.O OO.. ... ... ... ... ..O ... O..... O.O..O .....O OOO.OO …

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