Questions tagged «tiling»

对于涉及将空间(通常是平面)划分为没有间隙的小块(通常使用有限的一组原形砖)的挑战。另请参见[set-partitions]。

2
旋转钻石瓷砖
任何规则的六边形都可以用钻石平铺,例如这样(从该问题中被盗): ______ /_/_/\_\ /_/\_\/\_\ /\_\/_/\/_/\ \/_/\_\/_/\/ \_\/_/\_\/ \_\_\/_/ 我们将考虑上述大小为1的拼贴(因为钻石的侧面由一个/或\组成)。大小为2的相同拼贴如下所示: ____________ / / /\ \ /___/___/ \___\ / /\ \ /\ \ /___/ \___\/ \___\ /\ \ / /\ / /\ / \___\/___/ \/___/ \ \ / /\ \ / /\ / \/___/ \___\/___/ \/ \ \ / /\ \ / …

5
每日随机ASCII艺术#5:钻石拼贴
混搭时间! 这是我的每日随机高尔夫和Optimizer的ASCII每日艺术系列的第5期。您在此挑战中提交的作品将计入两个排行榜(您可以在其中找到链接的帖子)。当然,您可以像对待其他任何代码高尔夫挑战赛一样对待它,并回答它而不必担心任何一个系列。 第5洞:钻石拼贴 正六边形始终可以用钻石平铺,如下所示: 我们将使用这些拼贴的ASCII艺术表示形式。对于边长为2的六边形,有20个此类平铺: ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ /\_\_\ /\_\_\ /\_\_\ /\_\_\ /_/\_\ /_/\_\ /\_\_\ /_/\_\ /_/\_\ /_/\_\ /\/\_\_\ /\/_/\_\ /\/_/_/\ /\/_/\_\ /\_\/\_\ /\_\/_/\ /\/_/_/\ /\_\/\_\ /\_\/_/\ /_/\/\_\ \/\/_/_/ \/\_\/_/ \/\_\_\/ \/_/\/_/ \/\_\/_/ \/\_\_\/ \/_/\_\/ \/_/\/_/ \/_/\_\/ \_\/\/_/ \/_/_/ \/_/_/ \/_/_/ \_\/_/ \/_/_/ …

6
ASCII连接的六边形
总览 给定许多六角形,将它们排列成50乘50 ASCII艺术图像范围内的连接形状。您可以选择任意形状-只要您将其连接,就可以发现最适合打高尔夫球的形状。如果它们大于一个六边形,则可能会有孔(否则,六边形的数量将是不明确的)。 布局 所有六边形都必须采用以下形式(仅此大小和方向有效): __ / \ \__/ Note there are 2 underscores per horizontal edge. 如果两个六边形共享一条边,则它们直接相连: __ __ / \__ / \ \__/ \ \__/ \__/ or / \ \__/ 如果两个六角形仅共享一个顶点,则它们不连接: __ __ / \/ \ \__/\__/ 共享半边也不算是已连接: __ / \ \__/ / \ \__/ 如果存在仅使用直接连接的六边形从任意六边形到其他任意六边形的路径,则连接六边形的集合。 孔洞 相连的六边形集合中的六边形大小的孔算作六边形,因此任何给定的ASCII艺术作品都具有明确的六边形数。 …

3
彼得(蒙德里安)的谜题
有关更多信息,请观看此视频,并转到A276523以获得相关序列。 蒙德里安难题(对于整数n)如下: 将非全等矩形拟合到一个 n*n正方形网格中。最大和最小矩形之间的最小差异是多少? 为6,对于最佳差M(6)就是5,并且可以表现出像这样: ___________ | |S|_______| | | | L | | |_|_______| | | | | | |_____|___| |_|_________| (fig. I) 最大的矩形(L)的面积为2 * 4 = 8,最小的矩形(S)的面积为1 * 3 = 3。因此,差异为8 - 3 = 5。 请记住,目前n > 44尚未找到最佳解决方案。 您的任务是创建一个程序,该程序生成一个Mondrian网格,其中包含一个(非最佳)解决方案(给定整数)n。 您将接受100到150的数字测试。每次测试的得分将是最大和最小矩形之间的差。您的总分是所有100到150项测试的总分。 您必须像这样显示输出: {number} {grid} number分数在哪里(最大和最小之间的差),并且grid为: 多行字符串,或 二维列表。 网格必须清楚地显示矩形的开始和结束位置。 规则: …

4
棋盘格!
介绍 来自维基百科: 平面的细分是指使用一个或多个几何形状(称为图块)的平铺,没有重叠且没有间隙。 下面显示了一个众所周知的细分: 菱形的平铺方式不会导致重叠或间隙,并模拟了立方的互换列。 任务 您的任务是编写一个与上面的图像相同的镶嵌菱形的程序。程序的输入将为镶嵌的尺寸:height x width,其中width是列数,height是行数。 单个立方体1 x 1(菱形的3个图块)的表示方式如下: _____ /\ \ / \ \ / \ _____\ \ / / \ / / \/_____ / 因此,如果输入/尺寸为3 x 2,则应为输出: _____ /\ \ / \ \ / \ _____\ _____ \ / /\ \ \ / / \ …

11
64位ASCII编织
输入值 两个整数: 一个介于0到2 ^ 64-1之间的非负整数W,用于指定组织。 在1到255之间的正整数S,指定边长。 这些可以按照适合您的顺序进行。 输出量 请求的编织的S by S ASCII表示形式(S换行符分隔S字符的字符串,带有可选的尾随换行符)。编织由编织编号W定义,如下所示: 将W转换为二进制并拆分为8个字节。第一个(最高有效)字节定义了从左(最高有效位)到右的第一行。下一个字节定义了下一行,依次类推8行。编织编号定义了一个8 x 8的正方形,该正方形应从左上方开始平铺在所需区域上。也就是说,其左上角应对应于要覆盖区域的左上角。 每个0都应显示为a |,每个1都应显示为a- 例子 输入: 0 8 输出: |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| |||||||| 输入: 3703872701923249305 8 输出: ||--||-- |--||--| --||--|| -||--||- ||--||-- |--||--| --||--|| -||--||- 输入: 3732582711467756595 10 输出: ||--||--|| --||--||-- --||--||-- ||--||--|| …

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

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 此外,每种颜色只有一组,因此这是无效的: ABA ABA 因为颜色A磁贴不仅仅分为一组。这也将无效,因为这些图块既不水平连接也不垂直连接: AB BA 挑战 给定一个可打印ASCII范围内的二维字符数组(只要两个维度的大小均等于或大于1,就不必是正方形),请检查该数组是否表示按颜色正确分组的垫子(数组中的每个字符都代表不同的颜色)。输入可以采用任何合理的格式,只要它表示二维字符数组(2D char数组,相同长度的字符串数组,依此类推),并且输出必须是一对真值和假值(0 / 1,'t'/'f',true / false,无论返回什么,并且返回值在输入中都保持一致)。 这是代码高尔夫,因此每种语言中最短的程序/函数/方法/ lambda可能会获胜! 例子 A …

7
使用L形的Tromino将2 ^ N x 2 ^ N网格平铺
当初次向学生讲解数学归纳的证明技术时,一个常见的示例是将2个N ×2 N的网格与L形的Tromino砖砌在一起的问题,从而将一个预定的网格空间留空。(N是一些非负整数。) 如果您还不知道,我将交给您查看证明。有很多讨论它的资源。 您的任务是编写一个程序,该程序使用N的值以及要保留为空的网格空间的坐标,并输出所生成的Tromino平铺网格的ASCII表示形式。 角色O将填充空白区域,并且我们的Tromino旋转4次将如下所示: | +- | -+ -+ | +- | (是的,它可以是含糊其+与去-和|某些安排,但没关系。) 您的程序必须在N = 0(对于1×1网格)下工作,至少N = 8(对于256×256网格)。将给出x和y值,它们是的坐标O: x是水平轴。x = 1是左侧网格边缘,x = 2 N是右侧网格边缘。 y是垂直轴。y = 1是顶部网格边缘,y = 2 N是底部网格边缘。 x和y都始终在[1,2 N ] 范围内。 因此,对于给定的N,x和y,您的程序必须输出2 N ×2 N的网格,该网格完全用L形的三角骨平铺,但x,y网格坐标为O。 例子 如果N = 0,则x和y必须都为1。 O 如果N = 1,x = 1,y …

2
蒙德里安拼图序列
将一个n X n正方形划分为多个非一致的整数边矩形。a(n)是最大和最小面积之间最小的差异。 ___________ | |S|_______| | | | L | | |_|_______| | | | | | |_____|___| |_|_________| (fig. I) 最大的矩形(L)的面积为2 * 4 = 8,最小的矩形(S)的面积为1 * 3 = 3。因此,差异为8 - 3 = 5。 给定一个整数n>2,输出最小可能的差异。 发布时序列的所有已知值: 2, 4, 4, 5, 5, 6, 6, 8, 6, 7, 8, 6, 8, …

4
平铺,给定顶点配置
任务 给定顶点配置,任务是平铺多边形。 计分 您的分数等于您提交的内容达到的“复杂程度”。复杂度级别是累积的,这意味着要达到#3,您还必须支持#1和#2。 具有相同复杂度级别的提交通过字节计数来区分;最低的胜利。 输入值 输入是一个包含顶点配置的字符串,表示一个顶点图形。也就是说,以点分隔的整数列表,其中每个整数(n)表示一个正则n角,由一个公共顶点连接。 必须支持以下顶点配置: 3.3.3.3.3.3 3.3.3.3.6 3.3.3.4.4 (请注意,顺序反映在顶点图中,因此以下内容确实有所不同) 3.3.4.3.4 3.12.12 3.4.6.4 3.6.3.6 4.4.4.4 4.6.12 4.8.8 6.6.6 输出-复杂度级别1:顶点图形 在此复杂度级别上,输出是显示与给定输入相对应的顶点图形的图像。 输入前面带有一个F,表示应该输出顶点图形,而不是完整的图块。 例如,F3.6.3.6给出以下顶点图形: 输出-复杂度级别2:平铺 在此复杂度级别下,输出的图像是使用对应于给定输入的顶点图形显示均匀平铺的图像。 例如3.6.3.6给出以下平铺: 颜色或格式(没有漏洞)没有限制。 输出-复杂度级别3:双重平铺 在这种复杂性级别上,可以从每个切片形成“双重切片”。这是通过从每个多边形的中心到每个边界多边形的中心绘制线来实现的。 通过在输入前面加上来指定双重平铺V。 例如,V3.6.3.6给出以下双重平铺(红色):

10
斐波那契多米诺骨牌
有经典的组合的结果,一个办法瓦数2*n由带1*2多米诺骨牌是第n 个 Fibonacci数。您的目标是打印给定的所有拼贴n,并用虚线和垂直线绘制,例如以下8个拼贴n=5: |———— |———— ——|—— ——|—— |||—— |||—— ————| ————| ||——| ||——| |——|| |——|| ——||| ——||| ||||| ||||| 您将提供一个程序或命名函数n作为输入并打印所需的输出。最少的字节数获胜。 输入值 通过STDIN或功能输入n之间的数字1(10含)。 输出量 打印2*n水平绘制的每个可能的多米诺骨牌瓷砖。平铺可以以任何顺序进行,但每个平铺应恰好出现一次。它们必须用空白行分隔。 垂直多米诺骨牌由两个垂直条(|)组成,水平多米诺骨牌由两个破折号(—)组成。您可以使用连字符(-)代替破折号以保持ASCII。 只要打印输出看起来相同,您就可以对空格进行任何操作。

4
进行ASCII六边形环平铺
使用ASCII打印六边形环瓦的一部分。 这是一小部分: /\__/\ /_/ \_\ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ /\__/\ \__/ /\__/\ /_/ \_\/__\/_/ \_\ \ \__/ /\__/\ \__/ / \/__\/_/ \_\/__\/ \ \__/ / \/__\/ 这是一个较大的部分: \ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \__/ /\__/\ \/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\/__\/_/ \_\ …

7
构造雅可比矩阵
取未知向量,并应用一些通用的微分函数。的雅可比然后通过矩阵给出,使得: 例如,假设m=3和n=2。然后(使用基于0的索引) 雅可比f然后 这个挑战的目标是打印这个雅可比矩阵。 输入值 你的程序/功能应该采取作为输入两个正整数m和n,其代表的部件的数目f和u分别。输入可以来自任何所需的来源(stdio,功能参数等)。您可以指定接收顺序,对于输入的答案必须一致(请在答案中指定)。 输出量 代表雅可比矩阵的东西。此表示形式必须明确拼出Jacobian矩阵的所有元素,但是每个术语的确切形式都是实现定义的,只要明确区分什么以及关于什么进行区分,并且每个条目均以逻辑顺序输出。用于表示矩阵的示例可接受形式: 列表列表,其中外部列表​​的每个条目都对应于雅可比行的一行,内部列表的每个条目都对应于雅可比行的列。 字符串或文本输出,其中每行是Jacobian行,每行中由定界符分隔的条目对应于jacobian的列。 矩阵的一些图形/视觉表示。示例:使用MatrixForm命令时Mathematica显示的内容 其他每个条目都已存储在内存中并且可以查询的密集矩阵对象(即,您不能使用生成器对象)。例如,Mathematica如何在内部表示Matrix对象 条目格式示例: 形式为的字符串d f_i/d u_j,其中i和j是整数。例如:d f_1/d u_2。请注意,d和f_1或之间的这些空格x_2是可选的。此外,下划线也是可选的。 形式为d f_i(u_1,...,u_n)/d u_j或的字符串d f_i(u)/d u_j。也就是说,功能组件的输入参数f_i是可选的,并且可以明确地拼写出来或以紧凑形式保留。 格式化的图形输出。例如:计算表达式时Mathematica会打印什么D[f_1[u_,u_2,...,u_n],u_1] 您可以选择起始索引u和目标索引f(请在答案中指定)。输出可以是任何所需的接收器(stdio,返回值,输出参数等)。 测试用例 以下测试用例使用约定m,n。索引显示为从0开始。 1,1 [[d f0/d u0]] 2,1 [[d f0/d u0], [d f1/d u0]] 2 2 [[d f0/d u0, d f0/d u1], [d f1/d u0, d …

3
超音波多米诺瓷砖
任务 编写一个程序,从STDIN或作为命令行参数读取三个整数m,n,打印出所有可能的矩形为m×n且由2×1和1×2 Domino组成的平铺,最后打印有效平铺的数量。 单个平铺的多米诺骨牌必须用两个破折号(-)表示2×1,用两个竖线(|)表示1×2的多米诺骨牌。每个平铺(包括最后一个平铺)都必须紧跟换行符。 出于评分目的,您还必须接受来自STDIN的标志或作为命令行参数的标志,该标志使您的程序仅打印有效拼贴的数量,而不打印拼贴本身。 您的程序不得超过1024个字节。它必须适用于所有输入,使得m×n≤64。 (灵感来自于打印所有4x6矩形的多米诺骨牌。) 例 $ sdt 4 2 ---- ---- ||-- ||-- |--| |--| --|| --|| |||| |||| 5 $ sdt 4 2 scoring 5 计分 您的分数取决于设置了标志的输入8 8的程序执行时间。 为了使此代码成为最快的代码,而不是最快的计算机挑战,我将在自己的计算机上运行所有提交的文件(英特尔酷睿i7-3770、16 GiB PC3-12800 RAM)以确定官方成绩。 请留下有关如何编译和/或执行代码的详细说明。如果您需要使用特定版本的语言的编译器/解释器,请对此声明。 如果发生以下情况,我保留不对提交内容进行评分的权利: 我的操作系统(Fedora 21,64位)没有免费的(如在啤酒中)编译器/解释器。 尽管我们竭尽全力,但是您的代码无法正常工作和/或在我的计算机上产生不正确的输出。 编译或执行需要一个多小时。 您的代码或唯一可用的编译器/解释器包含对的系统调用rm -rf ~或同样令人讨厌的东西。 排行榜 我对所有提交进行了重新评分,以10,000次迭代进行编译,并以100至10,000次迭代执行(取决于代码的速度),并在循环中运行编译和执行(取决于代码的速度)并计算平均值。 结果是: User Compiler …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.