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

特定の形状の最も多くを別の形状にフィットさせることに関する課題、または特定の形状の多くを最もコンパクトなフォームにパッキングするため。

6
ターザンのオリンピックつるスイングル​​ーチンを記録する
オリンピックのツルを振る人は、標準の木でルーチンを実行します。特に、標準ツリーにnは、0アップスルーのn-1頂点aと、各非ゼロ頂点をそのn % a下の頂点にリンクするエッジがあります。したがって、たとえば、標準ツリー5は次のようになります。 3 | 2 4 \ / 1 | 0 5を3で割ったときの剰余は2であるため、5を2で割ったときまたは4で割ったときの剰余は1であり、5を1で割ったときの剰余は0です。 今年、ターザンは頂点から始まり、頂点へn - 1とスイングし、頂点へn - 2と続きn - 3、最終的に頂点に降りるまで、新しいルーチンで金を守ります0。 ルーチンのスコアは、各スイング(降車を含む)のスコアの合計であり、スイングのスコアは、ツリー内の開始点と終了点の間の距離です。したがって、標準ツリー5のターザンのルーチンのスコアは6です。 から4までのスイングが33点(ダウン、アップ、アップ)を獲得し、 から3にスイングして21ポイント(ダウン)を獲得し、 から2までのスイングが11ポイント(ダウン)を獲得し、 から降車し1て01ポイント(下)を獲得します。 正の整数nを指定すると、標準ツリー上のターザンのルーチンのスコアを計算するプログラムまたは関数を記述しnます。サンプルの入力と出力: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 -> 18 …
32 code-golf  math  number  number-theory  code-golf  code-golf  restricted-source  programming-puzzle  css  code-golf  parsing  code-golf  random  encryption  code-golf  ascii-art  fractal  code-golf  math  code-golf  sorting  graph-theory  path-finding  permutations  code-golf  tetris  code-golf  card-games  code-golf  math  sequence  rational-numbers  code-golf  chess  code-golf  string  geometry  grid  code-golf  ascii-art  grid  code-golf  sequence  integer  code-golf  math  number-theory  packing  polyomino  code-golf  math  code-golf  string  quine  permutations  code-golf  math  code-golf  image-processing  optical-char-recognition  code-golf  string  kolmogorov-complexity  sequence  integer  code-golf  number  permutations  palindrome  code-golf  kolmogorov-complexity  code-golf  number  sequence  string  fewest-operations  code-golf  string  kolmogorov-complexity  sequence  primes  code-golf  string  ascii-art  code-golf  string  number  alphabet  code-golf  counting  code-golf  number  sequence  number-theory  primes  code-golf  subsequence  word-search 

19
ASCIIブックシェルフ
基本的に一緒に積み重ねることができる木製の箱である積み重ね可能な棚を知っていますか?ASCIIアートを使用した本棚から本棚を作成することをシミュレートします。 私たちの本はすべて便利なサイズで統一されており、すべて次のように見えます。 |X| |X| |X| 本棚は個別の箱で、常に内側が3文字の高さ(直立した本に収まるのに十分な大きさ)で、|左右の-文字、上下の文字で構成され、X本が収まるのに十分な幅です(X入力は整数)。たとえば、サイズの本棚は3次のとおりです。 |---------| | | | | | | |---------| 3書籍をそのように収めることができるからです |---------| ||X||X||X|| ||X||X||X|| ||X||X||X|| |---------| 入力は、2つの厳密に正の整数にXなりますY。ここXで、棚の幅(本で測定)と、Y積み重ねなければならない本の数です。1つの棚に収まるよりも多くの本がある場合は、上部にさらに棚を追加する必要があります。たとえば、ここに入力があります4 wide / 6 books: |------------| ||X||X| | ||X||X| | ||X||X| | |------------| |------------| ||X||X||X||X|| ||X||X||X||X|| ||X||X||X||X|| |------------| Y % X > 0書籍の数が棚サイズの整数倍でないことを意味する場合、残りの書籍は一番上の左端の位置に移動し(4 6上記の場合のように)、その棚の残りの部分はスペース。 入力 二厳密に正の整数任意の便利な形式で、各>0。 どちらの順序でも入力できます(たとえば、棚のサイズを最初に、次に本の数、またはその逆)。提出物に入力順序を明記してください。 どちらの入力も、言語のデフォルト[int]サイズ(または同等のサイズ)よりも大きくないと想定できます。 出力 結果として生じる本と本棚のASCIIアート表現。 …

3
ピタゴラスの三角形の積み重ね
バックグラウンド ピタゴラスの三角形は、各辺の長さが整数である(つまり、辺の長さがピタゴラスのトリプルを形成する)直角三角形です。 この三角形の辺を使用して、次のようにさらに2つの一致しないピタゴラスの三角形を添付できます。 2つの三角形がオーバーラップせず、接続する辺の長さが等しい限り、フィットするようにこのパターンを続行できます。 問題は、与えられた空間にいくつの合同でないピタゴラスの三角形を収めることができるかということです。 入力 あなたは、2つの入力として整数、受信するWとH、関数の引数によって、STDIN、文字列、または何でもあなたが好きなの。整数は、10進数、16進数、2進数、単項(幸運、Retina)、またはその他の整数ベースとして受け取ることができます。あなたはそれを仮定するかもしれませんmax(W, H) <= 2^15 - 1。 出力 プログラムまたは関数は、重複しない接続された一致しないピタゴラスの三角形のリストを計算し、それぞれ3つの座標のセットのリストを出力する必要があります。座標は、空間内の実数であるx必要があり(間隔内にあり、間隔内[0, W]にあるy必要があります[0, H])、距離は機械の精度に対して正確でなければなりません。三角形の順序と各座標の正確な形式は重要ではありません。 1つの三角形から、接続された境界をステップオーバーするだけで他の三角形に「歩く」ことが可能でなければなりません。 上記の図を例として使用して、入力をとW = 60しH = 60ます。 出力は次の座標リストになります。 (0, 15), (0, 21), (8, 15) (0, 21), (14.4, 40.2), (8, 15) (0, 15), (8, 0), (8, 15) (8, 0), (8, 15), (28, 15) (8, 15), (28, …

1
パッキングサークル
この画像を見てください。具体的には、端の穴の配置方法。 (画像ソース) この画像のパイプが六角形のパターンでどのように詰められているかに注目してください。2Dでは、六方格子が円の最も密なパッキングであることが知られています。この課題では、円のパッキングの周囲の最小化に焦点を当てます。境界線を視覚化する便利な方法の1つは、輪のコレクションの周りに輪ゴムを置くことを想像することです。 タスク n入力として正の整数を指定するnと、できるだけ密にパックされた円のコレクションが表示されます。 規則と説明 円の直径は1ユニットであると仮定します。 最小化される変数は、グループ内の円の中心の凸包であると定義されている周囲の長さです。この画像を見てください: 直線の3つの円の周囲は4(凸包は2x0の長方形で、2は2回カウントされます)、120度の角度で配置された円の周囲は約3.85、三角形の周囲はわずか3ユニットです。円の中心ではなく、円の端だけを見ているため、実際の境界線となる追加のpi単位を無視していることに注意してください。 任意のに対して複数のソリューションが存在する可能性があります(ほぼ確実に存在します)n。これらのいずれかを自由裁量で出力できます。向きは関係ありません。 円は六角格子上になければなりません。 円の直径は少なくとも10ピクセルである必要があり、塗りつぶしてもしなくてもかまいません。 プログラムまたは関数のいずれかを作成できます。 入力は、STDINを介して、関数の引数として、または最も近いものとして取得できます。 出力は表示されるか、ファイルに出力されます。 例 以下に、1から10までのnの有効および無効な出力の例を示します(有効な例は、最初の5つのみです)。有効な例は左側にあります。右側のすべての例は、対応する有効な例よりも大きな境界線を持っています。 この課題の作成を支援してくれたsteveverrillに感謝します。ハッピーパッキング!

2
最悪の場合のマンハッタンの除外
想像してWによるHのトロイダル状ラップの正方形のグリッドを。アイテムは次のようにグリッドに配置されます。 最初のアイテムは任意の正方形に配置できますが、後続のアイテムは前のアイテムのマンハッタン距離 R(範囲Rのフォンノイマン近傍とも呼ばれます)内に配置することはできません。慎重に位置を選択すると、有効な位置がなくなる前に多数のアイテムをグリッドに合わせることができます。ただし、代わりに反対の目的を検討してください。配置できるアイテムの最小数はいくらですか? 以下は、半径5の除外ゾーンです。 ここに別の半径5の除外ゾーンがあります。今回はエッジに近いため、ラッピングの動作が明らかです。 入力 3つの整数: W:グリッドの幅(正の整数) H:グリッドの高さ(正の整数) R:除外ゾーンの半径(非負の整数) 出力 整数N。これは、配置できるアイテムの最小数であり、それ以上の有効な配置を妨げます。 詳細 半径がゼロの場合、除外ゾーンは1平方(アイテムが配置されたゾーン)になります。 Nの半径は、N直交ステップで到達できるゾーンを除外します(エッジがトロイド状にラップすることを思い出してください)。 あなたのコードは、R = 0の些細なケースで機能する必要がありますが、W = 0またはH = 0で機能する必要はありません。 コードでは、R > WまたはR > Hの場合も処理する必要があります。 制限時間とテストケース コードはすべてのテストケースを処理できなければならず、各テストケースは5分以内に完了する必要があります。これは簡単なはずです(JavaScriptソリューションの例では、テストケースごとに数秒かかります)。時間制限は、主に極端なブルートフォースアプローチを除外することです。例のアプローチは、まだかなり強引です。 コードが1台のマシンで5分以内に完了しても、十分に近い別のマシンでは完了しない場合。 フォーム入力のテストケース:出力としてW H R : N 5 4 4 : 1 5 4 3 : 2 5 4 2 : 2 …

2
最大nのサイズの正方形を含む最小の長方形の領域を見つける
これは、OEISシーケンスA038666に適用される通常のタイプのシーケンス質問です。つまり、次のいずれかを実行します。 宇宙の熱死まで、入力をまったくまたはまったく受け入れず、A038666を出力します。 入力として正の整数を受け入れ、A038666の番目の項またはその最初の項を出力します。(インデックス付けの代わりにを使用する場合、もちろん入力時に出力する必要があります。)nnnnnn00011110 A038666 の番目の項は、インデックスを使用している場合、サイズが重複しない正方形を含む長方形の中で最小の領域です。nnn1 × 1 、2 × 2 、... 、N × N1×1,2×2,…n×n1\times1,2\times2,\dots n\times n111 例: サイズの非重複正方形含有することができる最小面積の矩形介して寸法有し:1 × 11×11\times14 × 44×44\times47 × 57×57\times5 4 4 4 4 3 3 3 4 4 4 4 3 3 3 4 4 4 4 3 3 3 4 4 4 4 2 …

4
木片の梱包
木が2つあります。どちらも、まっすぐな体と体の下のいくつかの余分なブロックで構成されています。(0-indexed)位置0,4,7,9,10に余分なブロックがある例: XXXXXXXXXXX X X X XX ピースは、thの位置にブロックがあるかどうかを示すth文字を含む01バイナリシーケンスとして表すことができます。上の例はとして表すことができます。ii10001001011 2番目のピースを垂直にフリップすることで、2つのピースをまとめることができます(水平方向にフリップすることもできます)。フリップの後、2つのピースを合わせて高さ3になるように配置することができます。 Two example pieces: XXXXXXXXXXX XXXXXXXX X X X XX XXX Second piece flipped vertically and horizontally: XXXXXXXXXXX X X X XX XXX XXXXXXXX Pieces put together: XXXXXXXXXXX XXXXX X XX XXXXXXXX この例では、合計幅が12ブロックになりました。 2つの部分を表す入力として2つの文字列を受け取り、最小の達成可能な幅 3の整数を出力するプログラムまたは関数を作成する必要があります。 入力 文字からなる二つの文字列0と1。 両方の文字列に少なくとも1つの文字が含まれています。 1つのスペースで結合された2つの文字列を受け取ることを選択できます。 出力 達成可能な最小の合計幅である単一の正の整数。 例 0 …

1
正方形の対称性を見つける
正の整数のリストを受け取るプログラムまたは関数を作成します。これらの整数はそれぞれ、2D平面上の正方形の辺の長さを表します。各正方形は、平面内の任意の整数座標に移動できますが、回転することはできず、他の正方形と重なることはできません。 空白ごとに異なる印刷可能なASCII文字を使用して(空に使用されるスペースを除く)、プログラム/関数は、反射対称の水平線または垂直線を持つ正方形の単一配列を印刷する必要があります。そのような配置が存在しない場合は、何も印刷しないでください。 四角は区別できるように異なる文字です。すべての正方形の結合によって作成された形状のみが対称である必要があります。リストには94を超える要素は含まれないと想定できます(94文字があるため)。 たとえば、入力がの[2, 1, 2, 2, 2]場合、可能な出力は次のとおりです。 DD-- DD-- Z FFPP FFPP この形状には、反射対称の水平線があります。その上半分と下半分は鏡像です。他にもいくつかの可能性があります:(正方形に触れる必要はなく、同じ文字で2つの正方形が作られていない限り、任意の文字を使用できます。) 55 55 %% %% @ HH HH (( (( G 11 33 11 33 22 44 22 44 対称線は、文字間の境界でもあります。例[2, 4]: !!!! !!!! ++ !!!! ++ !!!! いくつかの正方形のセットは、対称的に配置することは不可能[1, 2, 3]です。 AAA BB C AAA BB (these can't …

1
トラックを荷造りするのに必要なロボット・ローディ
バンドのローディーとして、トラックを梱包する必要があります。プログラムは、最小の高さに収まるようにパッケージを配置します。 ひどく詰まったトラック ルール パッケージは90度の倍数で回転できます。パッケージは接触する場合がありますが、重なってはなりません。 出力は(ファイルまたはstdoutへの)再パックされたイメージです。プログラムは、任意の入力または出力ラスター画像形式を使用できます。 プログラムは、最大4000x4000ピクセルの画像でさまざまな形状のパッケージをいくつでも受け入れなければなりません。このテストイメージ用にハードコーディングしないでください。提出物がこの特定の画像に合わせて調整されていると思われる場合は、新しいテスト画像に置き換える権利を留保します。 スコア スコアは、配置を含む四角形の最小の高さです(幅は入力四角形の幅です)。同点の場合、最も早いエントリーが勝ちです。 通常の標準的な抜け穴は禁止されています。

1
テトリスタングラム
前書き タングラムは、ブロックをさまざまな形に配置/適合させる古典的なパズルです。中国の七巧板から-文字通り「7つのスキルボード」を意味します。このアイデアを活用して、7つのテトロミノスのピースを使用してグリッドを埋めましょう。 チャレンジ 入力としてグリッド座標の配列を受け取り、指定された座標を除き、テトリスの破片で満たされた10 x 20の完成したグリッドを出力する関数またはプログラムを作成します。 ピースの分布を均一に保つようにして、スコアを最適化します。 基準 この座標のペーストビンを使用して、タスクを完了します。5組の座標があります。座標を書き込む形式は自由に変更できますが、値は変更しないでください。 データセット#2は解決できません-この場合、入力セルが埋められた状態でグリッドを出力するだけです(つまり、X穴のある場所)。 入力 グリッド座標は、グリッドの「穴」を表します。これらはテトロミノの部分を含むことができないセルです。 グリッド座標: (0,0), (1,0), (2,0), ... (9,0) (0,1), (1,1), (2,1), ... (9,1) . . . (0,19), (1,19), (2,19), ... (9,19) プログラミング言語の配列スタイルを使用して、座標を入力します。 Xまたはその他の印刷可能なASCIIでグリッドの穴を表します。 出力 幅10セル、高さ20セルの標準テトリスグリッドサイズを使用して、Tetrominoピースを使用してグリッドを完全かつ完全に埋めることができる場合にのみ、ソリューショングリッドを印刷します。 手紙で構成小品I、O、L、J、T、Z、Sとして、次のとおりです。 I I L J I OO L J T ZZ SS I OO LL …

6
N基底の回文である数
負でない整数が指定された場合n >= 0、x_i >= 3完全にn異なるb基数の回文である整数のシーケンスを永久に出力します2 <= b <= x_i-2。 これは基本的にOEIS A126071の逆で、そのシーケンスのどのインデックスが値を持つかを出力しますn。b = x_i-1, x_i, x_i+1これらのベースの結果は常に同じであるため(値は常にパリンドロームであるか、常にそうでないか)、ベースを無視するように変更したため、少し異なります。また、オフセットが異なります。 x_i>= 3それぞれの結果の最初の項nがA037183になるように、数値に制限されています。 出力形式は柔軟ですが、数値は適切な方法で区切る必要があります。 例: n seq 0 3 4 6 11 19 47 53 79 103 137 139 149 163 167 ... 1 5 7 8 9 12 13 14 22 23 25 29 35 …
10 code-golf  sequence  base-conversion  palindrome  code-golf  array-manipulation  matrix  code-golf  string  ascii-art  code-golf  ascii-art  physics  code-golf  number  sequence  fibonacci  code-golf  ascii-art  packing  code-golf  string  hexadecimal  code-challenge  restricted-source  decision-problem  binary  code-golf  code-golf  code-golf  stack-exchange-api  code-golf  string  parsing  generation  data-structures  code-golf  kolmogorov-complexity  graphical-output  code-golf  array-manipulation  integer  generation  data-structures  code-golf  number  random  probability-theory  king-of-the-hill  java  minesweeper  code-golf  string  kolmogorov-complexity  animation  code-golf  string  code-golf  code-golf  quine  code-golf  internet  code-golf  arithmetic  base-conversion 

1
単位正方形のタイリング
バックグラウンド 用語を拡張およびキャンセルすることにより、次のアイデンティティを簡単に示すことができます。 ただし、すべての1 / n×1 /(n + 1)の四角形が単位正方形をタイリングできるかどうかは、未解決の問題です。 タスク プログラムは、任意の便利な方法で正の整数Nを入力として受け取り、1からNまでのすべての1 / n x 1 /(n + 1)の開いた長方形を1からNまでの単位正方形にパックします。 。 長方形ごとに、次の整数を順番に生成する必要があります。 水平エッジが垂直エッジよりも長い場合は1、それ以外の場合は0 左下隅のx座標の分子と分母 左下隅のy座標の分子と分母 単位の正方形をとし(0, 1) x (0, 1)、x値は左から右に、y値は下から上にあることに注意してください。 最終的に予期される出力は、任意の便利な形式(たとえば、stdoutに出力されるか、関数から返されるリストとして)で、各長方形のこれらの整数をnの昇順で連結したものです。 入力と出力の例 入力: 3 出力: 0 0 1 0 1 1 1 2 0 1 1 1 2 1 3 これは次のように解析されます。 0 (0/1, …

1
長方形の円パッキング
あなたの仕事は、N個の円が持つことができる最大半径を見つけ、それでもX×Yピクセルの大きさの長方形の内側に収まるプログラムを書くことです。(このウィキペディアの記事と同様)プログラムは、これらのN円の最大可能半径と最適位置を見つけて 、 2つの円が重なることはありません すべての円が長方形の内側に収まります。 次に、プログラムはこれをコンソールに出力します。 Highest possible radius: <some_number> Circle 1 Focus: (x, y) Circle 2 Focus: (x, y) ... Circle N-1 Focus: (x, y) Circle N Focus: (x, y) (明らかに、some_numberをプログラムが計算する半径、Nは最終的に使用する円の数、xとyは円の実際の座標に置き換える必要があります) 最後に、これらの円が描かれた画像を作成して保存する必要があります。 ルール: このプログラムは、任意のサイズの長方形と任意の数の円で実行する必要がありますが、有効な答えを得ることができます。コマンドライン引数、ユーザー入力、ハードコードされた変数など、必要なものを使用できます。 円が重なっている場合や、ボックスの内側に完全に収まらない場合、提出は無効です。 各円の半径は同じでなければなりません。 これを合理的かつ実行可能にするために、すべての数値は小数点第2位まで正確でなければなりません。 これはコードゴルフなので、最短のプログラム(2014年10月28日現在)が優勝します。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.