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

グリッドに関する課題。

2
ロボットがテレポーターに到達するのを支援する
更新:はじめにPythonフレームワークを追加しました。 宇宙ステーションはクラッシャーボットによって追い抜かれました。ステーションが自己破壊する前に、「ウサギ」と呼ばれる高価で壊れやすいハイテクボットを出口テレポーターに向ける必要がありますが、クラッシャーボットは通路をパトロールしています。 プログラムにはASCIIマップが与えられ、各ターンにはクラッシャーボットと現在のウサギがいる場所が通知されます。その後、プログラムは、クラッシャーボットを避けながらウサギを出口テレポーターに移動します。 実行 Python 2コントローラーを実行するには: python controller.py <mapfile> <turns> <seed> <runs> <prog>... <prog> can be <interpreter> <yourprog> or similar. シードは、実行を繰り返し可能にするために、クラッシャーとプログラムPRNGに使用される小さな整数です。使用する実際のシードに関係なく、プログラムは一貫して実行する必要があります。シードがゼロの場合、コントローラーは実行ごとにランダムシードを使用します。 コントローラは、マップテキストファイルの名前とシードを引数として使用してプログラムを実行します。例えば: perl wandomwabbits.pl large.map 322 プログラムでPRNGを使用する場合は、指定されたシードで初期化する必要があります。コントローラは、STDINを介してプログラムの更新を送信し、STDOUTを介してウサギの動きを読み取ります。 コントローラが回転するたびに、3行が出力されます。 turnsleft <INT> crusher <x,y> <movesto|crushes> <x,y>; ... rabbits <x,y> <x,y> ... 次に、プログラムが1行を出力するのを待ちます。 move <x,y> to <x,y>; ... 更新:最初の行がコントローラーによって送信される前に、プログラムの初期化に2秒かかります。 コントローラーのウサギの位置を入力した後、プログラムが動きに応答するのに0.5秒以上かかる場合、コントローラーは終了します。 グリッド上にウサギがいない場合、ウサギの行には値がなく、プログラムはむき出しの「移動」文字列行を出力する必要があります。 毎ターン、プログラムの出力ストリームをフラッシュすることを忘れないでください。 例 …

2
スネークピットの食糧不足
スネークピットの食糧不足 35年ぶりに、スネークピットの食料が不足しています。住民のヘビは、この食糧不足を乗り切るために、互いに戦わなければなりません。食物連鎖の一番上に立つことができるのは1匹のヘビだけです! リーダーボード まだここにいない! 最終更新は2月24日 最後の試合の視覚化へのリンク 説明 最後の残りのリンゴ/サクランボ/何のために戦いたいなら、あなたは与えられた入力を受け入れてその次の動きを返すプログラムの形で蛇を提供しなければなりません。 唯一のひねりは、あなたがピットで一人ではないということです。別のヘビも珍しい食べ物を手に入れようとします!しかし、ヘビピット内は暗いので、自分とリンゴしか見えません。敵にぶつかると、自分を噛んだり壁にぶつかったりするように、死に至ります。さらに、最近ではリンゴはめったにないので、対戦相手が長さ7に達するのに十分な量を食べたら飢えてしまいます。 スネークピットは幅と高さが15の2次元マップであり、最外部のタイルは通過できない壁を構築します。 0 1 2 . . . c d e 0 # # # # # # # # # 1 # # 2 # x # . # # . # # . # # c # # d # …

1
正規表現の検証正規表現[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、 Code Golf Stack Exchangeのトピックになるようにします。 去年閉鎖されました。 入力として正規表現文字列を受け入れ、それが有効かどうかを確認する正規表現を作成します。基本的に、正規表現はそれ自体を検証できるはずです。(無効な正規表現は検証されないため、使用できません.*。;) フレーバーは、よく知られている実装(Perl、sed、grep、gawkなど)によって完全にサポートされている必要があり、それらの実装がサポートするものを完全にサポートしている必要があります。[弁護士が話すことを心配しないでください。私は、スマート***の可能性のある抜け穴を削除しようとしています。] 私はそれをコードゴルフしたいと思いますが、機能が豊富ではないフレーバーを知って使用している人々に優位性を与えるのではないかと心配しています。または、私の心配は根拠がありませんか?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

2
自由なn-ポリオミノを持つn X n正方形の個別のタイルの数
最新の「素敵な」 OEISシーケンスであるA328020は、数分前に公開されました。 自由なn-ポリオミノを持つn X n正方形の個別のタイルの数。 このシーケンスは、正方形の対称性までのタイルをカウントします。シーケンスには6つの用語がありますが、ここの人々がさらに拡張できるかどうかを確認したいと思います。 例 ためn=4OEISからこのイメージに示すように、このようなグリッド22があります。 クレジット:Jeff Bowermaster、A328020(4)のイラスト。 チャレンジ この前の課題と同様に、この課題の目標は、このシーケンスで可能な限り多くの項を計算することです1, 1, 2, 22, 515, 56734。n項は、nポリオミノを含むn X nグリッドのタイル数です。 好きなだけコードを実行します。このチャレンジの勝者は、シーケンスのほとんどの用語とそれを生成するコードを投稿するユーザーです。2人のユーザーが同じ数の用語を投稿すると、最後の用語を最も早く投稿した人が勝者となります。

1
強力な接続
前書き 次のような1つの大きな正方形の板で定義されたプランテーションがあります。 各小さな正方形の中の数字は、そのエリアの価値/現金/ ...を表します 農家は、接続されたN個の正方形を見つけるための支援が必要です(つまり、すべてのN個の正方形には少なくとも1つの共有境界線が必要です)です。 例えば: の場合N=1、出力はでなければなりません140。 の場合N=6、.. ..出力はでなければなりません315。 チャレンジ プログラム/関数は、マトリックスの値と数値Nを入力/引数として受け取り、強力な接続の値を出力する必要があります。 これはcode-golfなので、バイト単位の最短回答が勝ちです! 例 入力: 10 -7 11 7 3 31 33 31 2 5 121 15 22 -8 12 10 -19 43 12 -4 54 77 -7 -21 2 8 6 -70 109 1 140 3 -98 6 13 20 …
17 code-golf  grid 

10
旅客機の座席を割り当てる
先週のAPLレッスンに触発されました。 大文字の2D座席マップと1Dの顧客リストを指定して、座席マップと顧客リストを返しますが、次のように変更します(占有座席と座席のある顧客を示すため)。 入力乗客リスト内の一意の文字ごとに、座席マップ内のその文字の多く(または十分でない場合はすべて)を小文字にして、左から右、上から下に移動します。 座席表の一意の文字ごとに、乗客リストのその文字の多く(または十分でない場合はすべて)を小文字にして、左から右に移動します。 入力シートマップは、集合{からスペースと大文字が含まれF、B、P、E}、とすることができます。 改行によって行に分割されます 文字列のリスト 大文字の行列 他の同等の形式で 入力された顧客リストは、集合{から大文字が含まれF、B、P、E}であってもよいです。 文字列 文字のリスト 他の同等の形式で 返される座席マップは、0個以上の文字が小文字に折り畳まれていることを除いて、入力されたものと同一でなければなりません。 返される顧客リストは、ゼロ以上の文字が小文字に折り畳まれていることを除いて、入力リストと同一である必要があります 先頭と末尾の空白は許可されます 例(ユナイテッドの航空機の短縮版) ERJ145 座席表入力: P E E PP E EE E EE E EE E EE P PP E EE E EE E EE 乗客リストの入力: FFEEEEEEEEEEEEEEEE 座席マップの出力: P e e PP e ee e ee …

5
ais523のBackFlipを実行してください!
この課題は、のための賞であるais523のための勝利「新人王」のカテゴリを「PPCG 2016のベスト」。おめでとう! BackFlipは、ユーザーais523によって作成された難解なプログラミング言語です。ais523は、他にも30以上の興味深いesolangを作成しています。 BackFlipはBefungeや> <>のような2D言語で、命令ポインターがテキストのグリッド(プログラム)を横断し、上、下、左、右に移動し、文字に応じて方向を変えます。重大なことに、BackFlipプログラムのグリッドは、ラングトンのAntのように、移動中に変化します。 この課題では、BackFlipプログラムは常にテキストの長方形のグリッド(すべての行が同じ長さ)で、サイズが少なくとも1×1で、文字のみを含むと想定できます./\<>^V。(.スペースではなく、可視性のために使用されます。)ここで使用するBackFlipは、意味的には元のspecと同じです。 BackFlipの命令ポインター(IP)は、常にプログラムの左上隅のすぐ右から始まります。遭遇する可能性のあるコマンドには3つのタイプがあります。 .ノーオペレーションです。IPは、進行方向に進みます。ノーオペレーションはノーオペレーションのままです。 /と\ミラーです。それらは、角度で示される方向にIPを反射し、その後、他のタイプのミラーに変わります。 たとえば、IPが左に向かう場合、\左ではなく上方向に動き始め、はに\なります/。 <、>、^、およびV矢印です。IPを指し示す方向にリダイレクトし、IPが来た方向(IPが動いていた方向とは反対)を指す矢印に変わります。 たとえば、IPが下に向かう場合、IPは下>ではなく右に移動し始めます。これは、IPの方向で>ある^ためです。 BackFlipプログラムは、IPが範囲外に移動すると、つまりグリッドから外れると終了します。それは結局のところ、すべての無限ループが不可能であるため、バク転プログラムが最終的に終了します。(これは真実であると仮定できます。) この課題の目標は、BackFlipプログラムを取り込んで、プログラムが終了する前に命令ポインターが取る移動数を出力するプログラムまたは関数を作成することです。つまり、プログラムの実行中にIPは何ステップを実行しますか?これには、グリッドへの最初のステップとグリッドからの最終ステップが含まれます。 たとえば、指示ポインターは、単純なグリッドで5つのステップを取ります....。 .... <- empty 4×1 grid 012345 <- step number of the IP したがって、への出力....は5です。 より複雑な4×2グリッド \... \.>< IPは9番目のステップでグリッドを終了するため、出力は9次のようになります。 step grid IP position (@) 0 \... @.... \.>< .... 1 \... @... \.>< .... 2 /... .... …

20
数字を分解してください!
あなたの仕事は、以下の形式を使用して数値を分解することです。 これはベース変換に似ていdigitsますが、ベースにリストする代わりに、リストをvalues入力に追加するようにリストします。 指定されたベースがの場合、nリスト内の各数値はの形式である必要があります。k*(n**m)ここで0<=k<nおよびmはリスト全体で一意です。 スペック 合理的な入力/出力フォーマット。プログラム/関数は2つの入力を受け取り、リストを出力します。 出力リストの順序は任意です。 0 除外または含めることができます。 リード0は許可されます。 組み込みが許可されます。 テストケース number base converted list input1 input2 output 123456 10 [100000,20000,3000,400,50,6] or [6,50,400,3000,20000,100000] 11 2 [8,2,1] or [0,0,0,0,8,0,2,1] 727 20 [400,320,7] 101 10 [100,1] or [100,0,1] 得点 これはcode-golfです。バイト単位の最短ソリューションが優先されます。
16 code-golf  number  sequence  number-theory  base-conversion  code-golf  bitwise  hashing  code-golf  string  ascii-art  whitespace  code-golf  math  code-golf  code-golf  image-processing  counting  code-golf  math  arithmetic  checksum  code-golf  code-golf  math  arithmetic  number-theory  code-golf  array-manipulation  random  code-golf  string  code-golf  math  ascii-art  base-conversion  code-golf  graphical-output  geometry  3d  code-golf  math  linear-algebra  matrix  code-golf  math  number  sequence  code-golf  array-manipulation  code-golf  math  matrix  linear-algebra  code-golf  number  sequence  counting  code-golf  string  code-golf  string  restricted-source  quine  sorting  code-golf  string  geometry  code-golf  string  code-golf  networking  code-golf  base-conversion  code-golf  math  matrix  code-golf  arithmetic  linear-algebra  matrix  code-golf  number  arithmetic  grid  code-golf  number  source-layout  code-golf  string  bitwise  checksum  code-golf  array-manipulation  code-golf  string  probability-theory  code-golf  tips  code-golf  sequence  code-golf  string  math  sequence  calculus  code-golf  string  palindrome  bioinformatics  code-golf  math  combinatorics  counting  permutations  code-golf  parsing  logic-gates  code-golf  arithmetic  number-theory  combinatorics  code-golf  math  sequence  polynomials  integer  code-golf  string  ascii-art  chess  code-golf  string  code-golf  number  code-golf  string  ascii-art  parsing  code-golf  code-golf  number  natural-language  conversion  code-golf  arithmetic  code-golf  string  code-golf  ascii-art  decision-problem 

1
ここに住んでもいいですか?
ゲームTerrariaでは、ゲームメカニクスの1つにNPCが入居できるように家を建てることが含まれます。有効な家と見なされるかどうかについての厳しいルールセットがあります。ルールのリストは次のとおりです。 家の総面積は、少なくとも60平方タイルで、750未満でなければなりません。また、外枠を含む家のサイズは、少なくとも次のいずれかでなければなりません。 5x12 6x10 7x9 8x8 9x7 10x6 12x5 15x4 簡単にするために、次のことを安全に想定できます。a)すべての入力家は長方形であり、b)#家の中には固体のタイルはありません。こちらが12x6フレームです(美しいASCIIで描かれています): ############ # # # # # # # # ############ 家は背景の壁で覆われている必要があります。これらは固体のタイルではなく、三次元の家の後ろの壁です。穴は許可されますが、4x4より大きくすることはできません。行に5つ以上のスペース文字の行または列がある場合、これは4x4より大きい穴であり、家は無効です。複数の穴も許可されますが、少なくとも1つの壁が離れている必要があります。 ############ #**********# #**********# #**********# #**********# ############ ############ #* * # #* * # #* * # #****** # ############ (Still acceptable since neither hole is larger than 4x4 …
16 code-golf  string  game  grid 

7
Pentomino Rectangleを印刷する
入力を受け取らず、12個の異なるペントミノで作られた長方形のテキスト表現を常に印刷または返すプログラムまたは関数を作成します。 長方形のサイズと方向は任意ですが、12個すべてのペントミノを1回だけ使用する必要があるため、エリア60になります。各ペントミノは、異なる印刷可能なASCII文字で構成する必要があります(使用する必要はありません)上からの手紙)。 たとえば、この20×3ペントミノ長方形ソリューションを出力することを選択した場合: プログラムの出力は次のようになります。 00.@@@ccccF111//=--- 0...@@c))FFF1//8===- 00.ttttt)))F1/8888=- あるいは、この6×10ソリューションをゴルフする方が簡単かもしれません: 000111 203331 203431 22 444 2 46 57 666 57769! 58779! 58899! 5889!! 長方形のソリューションならどんなものでもかまいませんが、プログラムで印刷する必要があるのは1つだけです。(出力の末尾の改行は問題ありません。) この優れたWebサイトには、さまざまな長方形のサイズに対応する多数のソリューションがあります。おそらく、ソリューションをできるだけ短くするために、それらを参照する価値があります。これはコードゴルフで、バイト単位の最短回答が勝ちです。

1
ピザを同じスライスに切る
これは、私が完全に読む前に、この質問がそうなると思っていたものです。 コードゴルファーのグループがThe Nineteenth Bite Pizzeriaに入ってピザを注文します。不規則な形状で、単位は正方形です。あなたの仕事は、彼らがそれを同一のスライスにカットするのを助けることです。つまり、スライスの形状とサイズはまったく同じでなければなりません。回転させることはできますが、反転/ミラーリングすることはできません。たとえば、テトリスのピースの場合、それらは同じ種類である必要があり、LピースとJピースの両方を使用することはできません。 入力 グループの人数を最初の行(常に2〜10の整数)で指定し、その後にピザを表す ''(スペース)および '#'文字の長方形の行列が続きます。すべての「#」文字は、エッジを介して接続されています。「#」文字の数は、人数の倍数であることが保証されています。 出力 同じマトリックスを印刷し、各「#」文字を0〜n-1(nは人数)の数字に置き換えます。各桁はスライスをマークする必要があります。スライス形状は、正方形のエッジで接続する必要があります。スライスの番号付けは、特定の順序である必要はありません。ピザを切る方法が複数ある場合は、どれでもかまいません。 必要に応じてピザをカットできない場合は、「No pizza for you!」という文字列を印刷する必要があります。代わりに。 得点 これはコードゴルフです。スコアはプログラムのバイト数になります。文字は、UTF-8エンコードによってカウントされます。最低スコアが勝ちます。 例 入力: 3 # ### #### # 出力: 0 100 1122 2 入力: 4 ### # # ### 出力: 001 2 1 233 入力: 2 # # ###### 出力: No pizza for you! …

2
Kingdom Builderのゲームを獲得する
ここで新しい形のコードゴルフを試したいです。ボーナスと同様に、チャレンジのすべての部分を完了する必要はありませんが、各回答には特定のサイズのサブセットを実装する必要があります(すべての回答に実装する必要があるコアがあります)。したがって、ゴルフに加えて、この課題には、うまく機能する一連の機能を選択することも含まれます。 ルール キングダムビルダーはボードゲームで、(先が尖った)ヘックスグリッドでプレイされます。ボードは4つの(ランダム化された)クアドラントで構成され、各クアドラントには10​​x10の16進数セルがあります(したがって、ボード全体は20x20になります)。この課題のために、各ヘックスセルには水(W)、山(M)、町(T)、城(C)、または空(.)が含まれています。したがって、象限は次のようになります . . W . . . . . . . . M W W . . . . . . . M . . W . . . T . M M . W . . . . . . . . M . W W . …

4
ナイトフィルグリッド
ナイトフィルは、ナイトチェスの駒の接続性を使用したフラッドフィルです。具体的には: 1 1 1 1 0 1 1 1 1 (0は初期点、1は接続されたセルを示します) チャレンジ スペースと壁の2Dグリッドと初期位置を指定して、グリッドでナイトフィルを実行します。最短のコードが優先されます。 ルール 入力を受け取り、任意の形式(イメージ、文字列、配列など)で出力を生成できます。入力グリッドの一部として、または別の座標として初期位置を取得できます。この説明のために、次の形式が使用されます。 ######## # = wall ######## x = initial location ## x ## ## ## ######## ## ## ######## ######## 出力は、ナイトフィルの結果が追加された入力グリッドのコピーです 塗りつぶしは、スペースや壁と同じ「色」であってはなりませんが、初期位置マーカーと同じにすることができます。たとえば、上の画像の場合、有効な出力は次のようになります。 ######## # = wall ######## @ = fill (could also have been x) ## …

11
テキストのグリッドの対角線を並べる
テキストの長方形のグリッドが与えられた場合、左上から右下に向かう対角線を列に並べ、すべての対角線の最右端の文字が水平になるようにします。インデントにはスペースを使用します。 たとえば、テキストの入力グリッドが abcd 1234 WXYZ あなたは対角線をラインアップしたいW、1X、a2Y、b3z、c4、およびdこの出力を与える列に: ab 123c WXYZ4d すべての対角線の最も右下の文字がWXYZ4d同じレベルにあることに注意してください。 詳細 テキストの入力グリッドのサイズは少なくとも1×1で、すべての行は同じ長さになります。 入力グリッドは、複数行の文字列または単一行の文字列のリストとして取得できます。 入力グリッドには、印刷可能なASCII文字(スペースを含む)のみが含まれます。 出力には、オプションで末尾の改行が1つ含まれる場合がありますが、他の空行はありません。 出力の行には、オプションで末尾スペースを含めることができますが、不要な先頭スペースを含めることはできません。 その他の例 空行は例を示します。各入力の直後に出力が続きます。 123 456 789 1 452 78963 123.?! 456??! 789!!! 123. 456??? 789!!!!! **@ @ ** @ @ /\/\ \/ / / /\ \/\/ / \/\ / / / \/\/\/\ 12 34 56 …
15 code-golf  string  grid 

5
外部からどのくらい離れていますか?
中心が整数間隔で配置された軸に沿った単位正方形要素に分割された2D領域を取ります。エッジは、2つの要素で共有される場合は内部エッジと呼ばれ、それ以外の場合は外部エッジと呼ばれます。 あなたの目標は、として知られている各要素の中心から出発外縁に到達するために横断しなければならない隣接要素の最小数を見つけることであるtraversal distance、またはdistance略しています。エッジのみを横断できます(つまり、コーナーカット/斜め移動はできません)。「外部要素」(少なくとも1つの外部エッジを持つ要素)は0、外部エッジに到達するために隣接する要素を横断する必要があると見なされることに注意してください。 入力 入力は、すべての要素の中心の(x、y)を示す非負の整数ペア座標のリストです。重複する要素はないと想定されます(つまり、x / yペアが要素を一意に識別します)。要素の入力順序について何も想定してはいけません。 入力の原点を任意の場所(0、0、1、1など)に変換できます。 すべての入力要素が接続されていると仮定できます。つまり、上記の規則を使用して、任意の要素から他の要素に移動することが可能です。これは、2D領域が単に接続されているという意味ではないことに注意してください。内部に穴がある場合があります。 例:次は無効な入力です。 0,0 2,0 エラーチェックは不要です。 入力は、任意のソース(ファイル、stdio、関数パラメーターなど)からのものです。 出力 出力は、各要素を識別する座標のリストと、エッジに到達するために通過した対応する整数距離である必要があります。出力は、任意の要素の順序にすることができます(たとえば、入力として受け取ったのと同じ順序で要素を出力する必要はありません)。 出力は、任意のソース(ファイル、stdio、関数の戻り値など)に対するものです。 要素の座標を外部距離と一致させる出力はすべて問題ありません。たとえば、これらはすべて問題ありません。 x,y: distance ... [((x,y), distance), ...] [(x,y,distance), ...] 例 テキスト入力例の形式はx,y、1行に1つの要素があります。これを便利な入力形式に変更してください(入力形式の規則を参照)。 テキスト例の出力は、x,y: distance行ごとに1つの要素を持つ形式です。繰り返しになりますが、これを便利な出力形式に変更してください(出力形式の規則を参照)。 グラフィカルな図の左下の境界は(0,0)であり、内部の数字は、外側の端に到達するために予想される最小距離を表します。これらの図は純粋にデモンストレーションのみを目的としていることに注意してください。プログラムはこれらを出力する必要はありません。 例1 入力: 1,0 3,0 0,1 1,2 1,1 2,1 4,3 3,1 2,2 2,3 3,2 3,3 出力: 1,0: 0 3,0: 0 …

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