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

スペース(通常は平面)をギャップのない小さなタイルに分割する(通常は、プロトタイルの有限セットを使用する)必要がある課題。[set-partitions]もご覧ください。

3
超音速ドミノタイル
仕事 三つの整数読み取りプログラム書き込みmは、nは STDINから、またはコマンドライン引数のいずれかとして、寸法の矩形のすべての可能なタイル貼りの印刷N×M個により2×1及び1×2ドミノ、最終的に有効なタイリングの数。 個々のタイリングのドミノは、2×1の-場合は2つのダッシュ(|)、1×2ドミノの場合は2つの垂直バー()で表す必要があります。各タイリング(最後のタイリングを含む)の後にはラインフィードが必要です。 スコアリングの目的で、STDINから、またはプログラムが有効なタイルの数のみを印刷し、タイル自体は印刷しないようにするコマンドライン引数としてフラグを受け入れる必要もあります。 プログラムは1024バイト以下にする必要があります。m× n≤64のようなすべての入力に対して機能する必要があります。 (4x6長方形のすべてのドミノタイルを印刷することに触発されています。) 例 $ sdt 4 2 ---- ---- ||-- ||-- |--| |--| --|| --|| |||| |||| 5 $ sdt 4 2 scoring 5 得点 スコアは、フラグが設定された入力8 8に対するプログラムの実行時間によって決まります。 これを最速のコンピュータチャレンジではなく最速のコードにするために、すべての提出物を自分のコンピュータ(Intel Core i7-3770、16 GiB PC3-12800 RAM)で実行して公式スコアを決定します。 コードをコンパイルまたは実行する方法の詳細な手順を残してください。言語のコンパイラ/インタプリタの特定のバージョンが必要な場合は、その旨を表明してください。 以下の場合、私は提出物にスコアを付けないままにする権利を留保します。 私のオペレーティングシステム(Fedora 21、64ビット)用の無料の(ビールのような)コンパイラ/インタープリタはありません。 私たちの努力にもかかわらず、あなたのコードは機能しないか、私のコンピューターで正しくない出力を生成します。 コンパイルまたは実行には1時間以上かかります。 コードまたは利用可能な唯一のコンパイラ/インタープリタには、システムコールrm -rf ~または同様に魚のようなものが含まれています。 リーダーボード コンパイルと実行の両方を、コンパイルでは10,000回、実行では(コードの速度に応じて)100から10,000回のループで実行し、平均を計算して、すべての送信を再評価しました。 …

4
ドミノタイルの数
与えられた正のことのプログラムや関数を書くのnおよびmは、あなたが合うことができる有効な個別のドミノタイリングの数を計算n個でm個の四角形を。これはシーケンスであるA099390における整数列のオンライン百科事典。関数の引数、CLA、または標準入力で、適切な形式で入力を受け取ることができます。単一の整数を出力として返すか印刷する必要があります。 各タイリングはギャップを残してはならず、回転、反射などを含むすべての個別のタイリングがカウントされます。たとえば、2x3のタイリングは次のとおりです。 |-- ||| --| |-- ||| --| 入力/出力の例: 1, 9 -> 0 2, 2 -> 2 2, 3 -> 3 4, 4 -> 36 4, 6 -> 281 6, 6 -> 6728 7, 10 -> 53175517 プログラムは理論的には任意のnおよびmで機能するはずですが、プログラムで必要なメモリが多すぎる場合やデータ型がオーバーフローする場合は、免除されます。ただし、プログラムはn、m <= 8 で正しく機能する必要があります。 バイト単位の最短コードが優先されます。

3
有効なフィボナッチタイルを生成する
バックグラウンド フィボナッチタイリングは、短いセグメントSと長いセグメントLの 2つのセグメントを使用した(1D)ラインのタイリングです(長さの比率は黄金比ですが、この課題には関係ありません)。これらの2つのプロトタイルを使用してタイリングを実際にフィボナッチタイリングにするには、次の条件を満たす必要があります。 タイリングには、サブシーケンスSSを含めることはできません。 タイリングには、サブシーケンスLLLを含めることはできません。 次のすべての置換を実行して新しいタイリングを構成する場合でも、結果はフィボナッチタイリングでなければなりません。 LL → S S → L L → (空の文字列) いくつかの例を見てみましょう: SLLSLLSLLSLS 2つの* S *または3つの* L *が含まれていないため、これは有効なタイリングのように見えますが、構成を実行してみましょう。 LSLSLSLL それでも問題はないように見えますが、これをもう一度作成すると、 LLLS これは有効なフィボナッチタイルではありません。したがって、前の2つのシーケンスも有効なタイリングではありませんでした。 一方、 LSLLSLSLLSLSLL これを繰り返して短いシーケンスに構成します LSLLSLLS LSLSL LL S これらの文字列内のどこかでSSまたはLLLを取得することはないため、すべての結果は有効なフィボナッチタイルです。 さらに読むために、このタイリングをペンローズタイリングの単純な1Dアナロジーとして使用する論文があります。 チャレンジ 非負の整数Nを指定すると、N文字(SまたはL)を含む文字列の形式ですべての有効なフィボナッチタイリングを返すプログラムまたは関数を記述します。 関数の引数STDINまたはARGVを介して入力を受け取り、結果を返すか印刷することができます。 これはコードゴルフで、最短の回答(バイト単位)が勝ちます。 例 N Output 0 (an empty string) 1 S, L 2 …
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.