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

グリッドに関する課題。

4
私の言葉を見つけてください!
この挑戦のアイデアは、文字のグリッド上の辞書からすべての単語を見つけることです。入力は、stdinまたは関数argから取得する必要があり、次の形式で入力します。 [your dictionary as a list of space sep words] [a grid of letters] Example: The cool car looc thea jopr 一致を見つけるためのルール 一致は、ボード上で斜め、水平、または垂直に見つかった場合に有効です(大文字と小文字は区別されません)。方向は関係ありません(例:look一致kool)。同じ単語に複数の一致がある場合は、それらすべてにマークを付けます。 出力: 出力は、指定されたグリッドになります-文字がスペースで区切られ、行が2倍になります。例: Input: looc thea jopr Output: l o o c t h e a j o p r マッチを表すために、一緒に行く文字の間に矢印を置きます。矢印(/\-|X)は、一致でグループ化された文字の各ペアを指します。交差するX場合に使用され/\ます。 例: Input: The cool car looc thea …

3
任意のアイスキューブトレイの充填
このスペースとXのグリッドが、奇妙な形の空の角氷トレイの断面を表していると仮定します。 X X X X X X XX X XX X XXXXXX XXXXXXXXXXXXX のない列はX、水を保持できないトレイの穴または隙間を表し、無限の容量の流しに流れ込みます。グリッドの左端または右端から落ちる水も、この無限のシンクに流れ込みます。 蛇口をトレイの上に置き、すべてのコンパートメントの水位が安定するまで水で満たす場合、満たされる正確なコンパートメントは、水流がトレイの上に配置された正確な場所に依存します。(はねのない、薄くて安定した水の流れを想定してください。) たとえば、蛇口Fが一番左のグリッド列の上にある場合 F X X X X X X XX X XX X XXXXXX XXXXXXXXXXXXX 水はXその列の最上部に落ちて左右に広がり、左半分が下の流しにこぼれ、右半分が2×1コンパートメントを満たします。コンパートメントが満たされると、水流の右半分は流し台に流れ込むだけで、どこでも水位は本質的に安定しています。 蛇口をオフにすると、トレイは次のようになります:(~水として) X X X X~~X X XX X XX X XXXXXX XXXXXXXXXXXXX 同様に、蛇口を次のように配置すると: F X X X X X X …

1
ジョリーゲリマンダリング
バックグラウンド 米国には、ゲリマンダリングに対する独特の愛情があります。特定の投票結果を予測するための選挙区の意図的な操作です。つい最近、最高裁判所に持ち込まれたゲリマンダー事件がありました。ジェリーマンダリングは、特に人種に関連する場合、違法と判断され、地区の路線を変更する必要が生じます。 自治体の長方形の地図(2次元配列)を指定すると、地区の線を描画して、パーティが最も表現しやすくなります。つまり、ゲリマンダーになります。すべての自治体には2つの政党が0あり1ます。マップは、いずれか0または1その上の正方形で構成されます。以下にマップの例を示します。 チャレンジ マップを地区にグループ化して、1パーティが少なくとも入力で指定された地区の数を取得できるようにします。 入力 入力は、マップ、描画する地区の数、および1パーティーが勝つ必要がある地区の最小数(最小スコア)で構成されます。 出力 出力は、地区の地図になります。各地区はアルファベットの大文字で一意に構成されます。はい、これは26以上の地区がないことを意味します。 入力されたパーティが十分な地区に勝つ可能性のある出力がない場合、次のいずれかです 印刷してみました... 選挙結果により党が取り返しのつかないほど負傷したため、致命的なエラー または両方 ルール(非常に重要) すべての地区は連続している必要があります 地区には他の地区がない場合があります 各地区には、少なくとも4つのノードが必要です。入力はルールと一致します。つまりnumber_of_districts * 4、マップには少なくともノードがあります。 各政党のスコアは、政党が過半数を占める地区の数です 地区の0sと1sの数が同じ場合、どちらの当事者もその恩恵を受けません 通常の不正行為のルール これはcode-golfなので、バイト単位の最短コードが優先されます。 テストケース 1. Input 1. Output 2. Input 2. Output 3. Input 3. Output districts: 5 Image and map districts: 3 Image below districts: 3 fatal error min …

3
ゲームオブライフarrowlits
バックグラウンド この挑戦はapsillersに敬意を表しており、彼は挑戦でBest of PPCG 2016の見た目ほど簡単ではないカテゴリを獲得しました。 おめでとうございます! 「自己紹介」ページで、このユーザーはGame of Lifeセルラオートマトン用の本当にすてきなシミュレータを持っています。(真剣に、それをチェックしてみてください。)一方、aspillaは「arrowslit」のスペイン語です。これらの事実に照らして、この課題はGame of Lifeの矢じりについてです。 ゲームオブライフarrowlits GoLでは、矢印をグライダーで表し、壁を一連のブロックで表します。単一のグライダーが上から壁に近づき、壁の隙間を通過しようとします(矢印が点灯)。あなたの仕事は、グライダーが矢印に照らされているか、壁に衝突するかを確認することです。 入力 入力は、GoL構成を表すビットのグリッドです。任意の妥当な形式(2つのdistict印刷可能なASCII文字の複数行文字列、文字列のリスト、整数の2D配列、ブール値の2D配列など)で使用できます。明確にするために、文字の複数行の文字列を使用します.#に、以下します。 入力には、いくつかのプロパティがあることが保証されています。最初は、その高さは2N一部のN≥6 、その幅が少なくともある2N + 2。入力はすべて.sになりますが、最上部の3行のどこかがグライダーであり、中央の2行にブロックの壁があります。グライダーは南西または南東に向かっており、その位置は、壁が取り外された場合、下端に到達する前にサイドエッジを通過しない(ただし、グリッドのコーナーに到達する)ような位置です。グライダーは、最初に少なくとも1ステップ.s だけ左右の端から分離されます。どのフェーズでもかまいません。 壁は、1列の.sで区切られたブロックで構成されますが、1つの場所を除き、少なくとも2列の.s で区切られます。グライダーのように、左端と右端のブロックも、.sの1ステップだけエッジから分離されています。常に左端に少なくとも1つのブロックがあり、右端に1つのブロックがあります。 有効な入力グリッドの例を次に示します。 ....#...................... ..#.#...................... ...##...................... ........................... ........................... ........................... .##.##............##.##.##. .##.##............##.##.##. ........................... ........................... ........................... ........................... ........................... ........................... 出力 述べたように、あなたの仕事は、グライダーが壁に衝突するか、南端に到達するかを判断することです。この課題の目的上、シミュレーションの後半で何が起こっても、構成が単一のグライダーとブロックの壁で構成されなくなった場合、クラッシュが発生します。次の図は、南東のグライダーが2つの異なるフェーズでクラッシュすることなく通過できる最小のギャップを示しています(南西のグライダーの状態は対称的です)。 ...#........... .#.#........... ..##........... ............... ............... ##...........## ##...........## ...#........... ....#.......... ..###.......... ............... …

1
Android Lockパターンを把握する
友達が自分のパスワードをAndroidスマートフォンに入力しているのを見たとしましょう。彼らがどのようにパターンを作ったかは覚えていませんが、パターンがどのように見えるかは覚えています。あなたがあなたであるという懸念の友人であることは、彼らのパスワードがどれほど安全であるかを知りたいです。あなたの仕事は、特定のパターンを作成できるすべての方法を計算することです。 Androidパターンの仕組み パターンはノードの3x3グリッドに描かれます。パターンでは、画面から指を離さずに一連のノードにアクセスします。訪問する各ノードは、エッジによって前のノードに接続されます。留意すべき2つのルールがあります。 1つのノードに複数回アクセスすることはできません エッジは未訪問のノードを通過できません 通常、実行するのは非常に難しいため、実際のAndroidロックの組み合わせではあまり一般的ではありませんが、Knightのように移動することができます。つまり、一方の側から隣接していないコーナーに移動したり、反対側に移動したりすることができます。このような動きを採用したパターンの2つの例を次に示します。 これが実行されているアニメーションGifです。 パターンを解く 典型的なパターンは次のようになります。 このような単純なパターンでは、2つの方法でパターンを描画できます。2つのルーズエンドのいずれかから開始し、強調表示されたノードを介してもう一方に移動できます。これは多くのパターン、特に人間が通常使用するパターンに当てはまりますが、すべてのパターンに当てはまるわけではありません。 次のパターンを検討してください。 すぐに認識できる解決策が2つあります。左上から始まるもの: そして、下中央から始まるもの: ただし、線が選択されると、ポイントを通過することが許可されるため、上部中央から始まる追加のパターンがあります。 この特定のパターンには3つのソリューションがありますが、パターンには1〜4のソリューションがあります[要出典]。 それぞれの例を次に示します。 1。 2。 3。 4。 I / O ノードは、0から9までの整数、それらに相当する文字列、またはaからi(またはAからI)の文字として表すことができます。各ノードには、これらのセットのいずれかからの一意の表現が必要です。 ソリューションは、ノード表現を含む順序付けられたコンテナで表されます。ノードは、通過するのと同じ順序で並べる必要があります。 パターンは、ノードのペアの順序付けられていないコンテナで表されます。各ペアは、ペアの2つのポイントを接続するエッジを表します。パターン表現は一意ではありません。 パターン入力を標準入力メソッドを介して入力として受け取り、標準出力メソッドを介して同じパターンを作成するすべての可能なソリューションを出力します。 各入力には少なくとも1つのソリューションがあり、少なくとも4つのノードを接続すると想定できます。 希望する場合、または言語の選択により強制される場合は、順序付けられていないコンテナの代わりに順序付けされたコンテナを使用することを選択できます。 テストケース ノードを次のパターンで配置します。 0 1 2 3 4 5 6 7 8 ましょう{...}、順不同容器で[...]注文した容器であり、(...)ペアこと。 次の入力と出力は一致する必要があります {(1,4),(3,5),(5,8)} -> {[1,4,3,5,8]} {(1,4),(3,4),(5,4),(8,5)} -> {[1,4,3,5,8]} {(0,4),(4,5),(5,8),(7,8)} -> …

5
トラベリングO
世界は5 x 5のセルの配列です。四方を包みます。次のように視覚化できます... XXXXX XXXXX XXOXX XXXXX XXXXX あなたはOです。あなたは世界を旅行するのが大好きで、次のルールに従って旅行をします(Cを当日とします)。 でプライムの日、あなたは懐かしい感じ。昨日始めたところに戻ります。 で奇数日、あなたはホームシックを感じます。可能であれば、水平方向に1ステップ移動し、可能であれば、垂直方向に1ステップ移動します。近さを判断する目的で、ワールドラッピングを無視します。 日、あなたは冒険を感じます。C / 2ステップ南に移動します。 上の四角の日、あなたは冒険を感じます。東の壁に移動します。 上のフィボナッチ日、世界は1行で南下拡大します。 上三角日、世界は一つの列で東へ拡大します。 上記のルールのうち2つ以上が同時に適用される場合は、リストされている順に適用します。たとえば、奇数のプライムデイでは、昨日始めた場所に最初に戻り、次に家に一歩近づきます。 あなたは、(最初​​の)世界の中心、すなわち北西の角からゼロインデックスの位置(2,2)に住んでいます。そこから旅を始めます。 入力 単一の整数、N。 出力 XとYは、北西隅からゼロのインデックスが付けられ、1つのスペースで区切られたN日目に調整されます。 説明付きテストケース の入力が与えられた3場合、正しい出力は次のとおりです。 2 3 私たちは一度に1日これをやり遂げることができます。1日目から、次の動きを適用する必要があります。 奇数、正方形、フィボナッチ、および三角形 プライム、イーブン、フィボナッチ プライム、奇数、フィボナッチ、および三角形 視覚的な形式: 1日目2日目3日目 XXXXX XXXXXX XXXXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXOXX-> XXXXOX-> XXXXXX-> XXXOXXX XXXXX XXXXXX XXOXXX XXXXXXX XXXXX …
26 code-golf  grid 

8
NxNグリッドの行、列、および対角線を1〜Nで塗りつぶします
仕事 入力Nが与えられると、各行、列、および2つの対角線に1〜N(またはNそれが簡単な場合は0〜- 1)の数字が含まれるNxNグリッドを生成して出力します。 入力 入力は正の整数Nです。グリッド内の列と行の数を表します。この問題についてNは、妥当なサイズであると想定できます4 ≤ N ≤ 8(または1 ≤ N ≤ 8、以下のボーナスを利用する場合)。 出力 出力はN× Nグリッドになります。グリッドでは、各行には1〜の数字のみが含まれN、各列には1〜の数字のみが含まれ、N長さの2つの対角線N((0,0)to (N-1,N-1)から(0,N-1)toまで(N-1, 0))には1〜の数字のみが含まれNます。0〜の数字を使用できますN−1。それぞれについてN、多くの可能な解決策がありますが、最初に見つけたものだけを印刷する必要があります。数字の間にスペースを印刷する必要はありません。 制約 コードはの結果を繰り返し生成できる必要がありますN >= 7。つまり、N = 7毎回コードから実際に実行して解決策を得ることができれば、それで十分です。絶対的な制限に関しては、コードはN = 7実行するたびに10分以内に解決できる必要があります(つまり、乱数に依存している場合、最悪の場合、コードは10分以内に終了しますN = 7) 。 例 入力: 4 1つの可能な出力: 1 2 3 4 3 4 1 2 4 3 2 1 2 1 4 3 入力: …

25
数独ボードを出力する
今日の課題は簡単です。入力を行わずに、有効な数独ボードを出力します。 あなたが数独に不慣れな場合、ウィキペディアは有効なボードがどのように見えるべきかを説明しています: 目的は、グリッドを構成する各列、各行、および9つの3×3サブグリッド(「ボックス」、「ブロック」、または「リージョン」とも呼ばれる)のそれぞれに、 1から9までのすべての数字。 さあ、ここに… 6,670,903,752,021,072,936,960の異なる有効な数独ボードがあります。それらのいくつかは、圧縮して、より少ないバイトで出力するのが非常に難しいかもしれません。他の方が簡単かもしれません。この課題の一部は、どのボードが最も圧縮性が高く、最小バイトで出力できるかを把握することです。 提出するたびに毎回同じ掲示板を出力する必要はありません。ただし、複数の出力が可能な場合は、可能なすべての出力が有効なボードであることを証明する必要があります。 あなたは使うことができ、このスクリプト(マジックタコ壺のおかげで)、またはこれらの答えのいずれかを特定のグリッドが有効なソリューションであるかどうかを検証します。[1]有効なボードの場合はを出力し、無効なボードの場合はその他を出力します。 回答が明らかに2次元である限り、どの形式で回答を出力するかについてはあまり気にしません。たとえば、9x9行列、9個の3x3行列、文字列、文字列の配列、9桁の整数の配列、またはセパレータ付きの9つの9桁の数字を出力できます。1次元で81桁を出力することは許可されません。特定の出力形式について知りたい場合は、コメントでお気軽にお問い合わせください。 いつものように、これはcode-golfなので、選択した言語で思い付くことができる最短の答えを書いてください!

9
ナンバーロッカー!
正の整数<100(1〜99、1と99を含む)を指定すると、その数のロッカーが出力されます。 ロッカーは次のように定義されます。 +----+ | | | | | | | nn | +----+ ここnnで、10を基数とするロッカー番号です。1桁の数字がある場合、その前に0を付けて表します。たとえば、ロッカー番号2は番号を表示します02。 ロッカーは積み重ねることができますが、最高2つまでです。 +----+ | | | | | | | on | +----+ | | | | | | | en | +----+ onは、奇数、偶数を示しenます。ロッカーは隣同士に置くこともできます。 +----+----+ | | | | | | | | | | 01 | …

5
2次元構文を解析する
バックグラウンド アリスとボブは、すべてのPPCGチャレンジに勝つためにゴルフ言語を作成しています。アリスは> <>のような2次元言語を作成したいと考えていますが、ボブはJのようなプレフィックスとインフィックスの構文を好みます。妥協として、2次元のプレフィックスとインフィックスの言語を作成することにしました。パーサーは書くのが面倒で、あなたの助けが必要です! 構文仕様 アリスとボブの言語には、小文字のASCII文字で表される変数と、大文字のASCII文字で表される関数があります。関数は、1つまたは2つの引数で呼び出すことができます。プログラムは、文字の矩形グリッドで、スペース、および左上隅には、スペースを含めることはできません。これは有効なプログラムの例です:a-zA-Za-zA-Z F Gy H R x プログラムが解析されると、1文字の変数と形式<func>(<arg>)またはの関数呼び出しを含むCスタイル言語(C、Java、Python ...)の式に変換されます<func>(<arg1>,<arg2>)。たとえば、上記のプログラムは次の式になります。 F(H(R(x)),G(x,y)) 解析プロセスの詳細は次のとおりです。 スペースは単なるフィラーであるため、解析されません。 すべての変数a-zは常にそれ自体として解析されます。 すべての関数A-Zは、関数呼び出しとして解析されます。その引数は、グリッドの下でこの順序で右にある最も近い式です。これらのいずれかのみが存在する場合は、それが唯一の引数として与えられます。すべての関数には、グリッドに少なくとも1つの引数があると仮定できます。 上記の例では、変数xとyはそれ自体として解析されます。この関数Rはx、その下とその右に何もないので、1引数呼び出しとして解析されますR(x)。同様に、の下にあるため、Hとして解析されます。関数はその下と右にあるため、として解析され、同様にのために解析されます。左上隅で解析される式は、解析プロセスの結果です。H(R(x))RGxyG(x,y)F 入出力 入力は、空でない長方形の文字配列です。これは常にアリスとボブの言語で有効なプログラムになりますが、出力には使用されない表現が含まれる場合があります。出力は、上記のプロセスの結果として解析された式になります。 ルールとスコアリング 関数の完全なプログラムを書くことができます。最小のバイトカウントが優先され、標準の抜け穴は許可されません。 テストケース これらは、形式の間に与えられ、ケース間にgrid <newline> expressionハイフン---があります。SE形式では一部の行が空白のままになりますが、空白で埋める必要があります。 x x --- x y z x --- Fx F(x) --- Fx y F(y,x) --- ABu A(B(u)) --- G H k G(H(k)) --- ABCA …

3
W x H桁のグリッドで最大のN桁の数字を見つける
正の整数Nと、幅Wと高さH(これも正の整数)の10進数のグリッド(0〜9)を取り込むプログラムまたは関数を作成します。Nは、WとHの大きい方以下になると想定できます。 グリッドに水平または垂直に表示され、通常の読み取り順または逆順で書き込まれた最大の連続したN桁の数字を印刷または返します。 数字の対角線は考慮されません。 グリッドはラップアラウンドしません。つまり、周期的な境界条件はありません。 たとえば、3×3グリッド 928 313 049 なければならない9N = 1のための出力として94N = 2のための出力として、および940N = 3に対する出力として。 4×3グリッド 7423 1531 6810 8N = 1、86N = 2、854N = 3、7423N = 4の場合、出力は次のようになります。 3×3グリッド 000 010 000 1N = 1、10N = 2、N = 3の出力010があります(N = 3の場合も有効です)。 1×1グリッド 0 0N = 1の出力があります。 便利で合理的な形式で入力を取得できます。たとえば、グリッドは、改行で区切られた数字列、多次元配列、または数字リストのリストなどです。それらがグリッドの一部である場合、出力に先行ゼロを使用できます。 これはcode-golfであるため、バイト単位の最短コードが勝ちますが、アルゴリズムが計算上効率的であることを示すことができる回答に対してブラウニーポイント(つまり、より有望な投票)も授与します。
25 code-golf  math  number  grid 

3
アイスゴルフチャレンジ
この課題の目標は、特定のコースを完了するために必要な最小限のストライクを返すプログラムまたは関数を作成することです。 入力 コースのレイアウトは、適切な方法で渡すことができ、お好みの形式にできます。(コンソールから読み取られ、入力パラメーターとして渡され、ファイルまたはその他の複数行ストリング、ストリング配列、2次元文字/バイト配列から読み取られます)。 ボールとホールの開始位置も入力として渡すことができます。入力から解析する必要はありません。テストケースでは、実際の位置について混乱がないことを確認するために、コースに含まれています。 入力文字を別の文字(印刷可能なASCII文字など)として認識できる限り、他の文字に再マッピングできます。 出力 プログラムは、賢明な形式(結果を説明する文字列、整数、浮動小数点数または俳句)で入力として渡されたコースについて、可能な限り低いスコア(ホールに到達するために必要なストライキの最小量)を返す必要があります コースを打つことが不可能な場合は、リターンします-1(または、ビート可能なコースでは返されない、選択した他の偽の値)。 例: この例では、位置は0ベース、X / Y、左から右、トップダウンで表記されていますが、結果は完全にフォーマットに依存しないため、任意のフォーマットを使用できます。 入力: ########### # ....# # ...# # ~ . # # ~~~ . # # ~~~~ # # ~~~~ # # ~~~~ o # # ~~~~ # #@~~~~ # ########### Ball (Start-Position): 1/9 Hole (End-Position): 8/7 出力: 8 …

3
簡易カーニングを実装する
前書き カーニングとは、テキストの文字間の間隔を調整することを意味します。例として、Top次の3つのグリフで書かれた単語を考えます。 ##### ..... ..... ..#.. ..... ..... ..#.. ..##. .###. ..#.. .#..# .#..# ..#.. .#..# .#..# ..#.. ..##. .###. ..... ..... .#... ..... ..... .#... グリフ間のギャップをドットで埋めて完了させることもできますが、ギャップはどうやら広すぎるように見えます。代わりに、グリフを左にスライドさせて、ほとんど触れないようにします。 #####........ ..#.......... ..#..##..###. ..#.#..#.#..# ..#.#..#.#..# ..#..##..###. .........#... .........#... これはずっと良く見える!のバーがTの左の境界線の上にあることに注意してくださいo。この課題では、このような長方形のグリフに簡単なカーニングプログラムを実装することがタスクです。 カーニングプロセス 二長方形の2次元文字配列考える.と#同じ形状を。単純なカーニングプロセスでは、最初に1列の.sを挟んで配列を並べて配置します。次に、#右と左の配列のいくつか#が直交または斜めに隣接するまで、右の配列のそれぞれを左に1ステップ移動します。カーニングの結果は、隣接するを導入する前のステップ#です。あなたの仕事は、このプロセスを実装することです。 例を見てみましょう: Inputs: ..### #.... #.... ..##. ...#. ...## ..### ....# Process: ..###....#. …
24 code-golf  grid  code-challenge  atomic-code-golf  code-golf  combinatorics  probability-theory  card-games  code-golf  number  geometry  code-golf  decision-problem  chess  code-golf  math  number  sequence  code-golf  string  regular-expression  code-golf  arithmetic  integer  code-golf  math  array-manipulation  code-golf  number  decision-problem  integer  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  decision-problem  graph-theory  binary-matrix  code-golf  string  parsing  code-golf  string  code-golf  morse  code-golf  code-golf  string  code-golf  ascii-art  cellular-automata  code-golf  binary  base-conversion  code-golf  arithmetic  decision-problem  integer  checksum  code-golf  matrix  linear-algebra  code-golf  code-golf  game  code-golf  sequence  binary  code-golf  combinatorics  optimization  code-golf  decision-problem  quine  code-golf  rational-numbers  bitwise  code-golf  string  permutations  code-golf  kolmogorov-complexity  unicode  code-golf  ascii-art  number  code-golf  number  integer  binary  base-conversion  code-golf  array-manipulation  code-golf  chemistry  code-golf  number  sequence  fibonacci  code-golf  matrix  optimization  code-golf  number  code-golf  math  number  sequence  code-golf  math  array-manipulation  matrix  linear-algebra  code-golf  kolmogorov-complexity  cops-and-robbers  cops-and-robbers  code-golf  tips  basic  code-golf  decision-problem  binary  tiling  game  king-of-the-hill  python  code-golf  c  code-golf  ascii-art  code-golf  string  kolmogorov-complexity  alphabet  code-golf  number  code-golf  string  code-golf  number  sequence  integer  code-golf  number  permutations  restricted-complexity  restricted-time 

11
カウント単位の正方形の円が通過する
整数の半径rが与えられ、原点を中心とする半径rの円が通る単位平方の数を返すプログラムまたは関数を記述します。円が、隣接する単位正方形を通過するものとしてカウントされないグリッド上のポイントを正確に通過する場合。 r = 5の例を示します。 Kival Ngaokrajangによるイラスト、OEISで発見 例: 0→0 1→4 4→28 5→28 49→388 50→380 325→2540 5524→44180 5525→44020


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