Questions tagged «packing»

对于将最大数量的某种形状拟合为另一种形状的挑战,或用于将一定数量的某种形状填充为最紧凑的形式的挑战。

6
评分Tarzan的奥林匹克葡萄摇摆常规
奥运会的葡萄树摆动者在标准的树上执行常规活动。特别是,“标准树” 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。 例行程序的分数是每个挥杆(包括拆卸)的分数之和,挥杆的分数是树内起点和终点之间的距离。因此,Tarzan在标准树5上的例程得分为6: 从摇摆4到3得分3分(向下,向上,向上), 从摇摆3到2得分(下降)一分, 从摆动2到1得分1分(向下),并且 从下来1,0得分为1分(下降)。 编写一个程序或函数,给定一个正整数n,该程序或函数将计算Tarzan例程在Standard Tree上的得分n。样本输入和输出: 1 -> 0 2 -> 1 3 -> 2 4 -> 6 5 -> 6 6 -> 12 7 -> 12 8 …
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| 书架是单独的盒子,里面总是高三个字符(足以容纳直立的书),由|左右的-字符,顶部和底部的字符组成,并且足够容纳X书本(X输入是输入)整数)。例如,这是一个大小的书架3: |---------| | | | | | | |---------| 因为你可以3像这样把书装进去 |---------| ||X||X||X|| ||X||X||X|| ||X||X||X|| |---------| 输入将是两个严格的正整数,X并且Y,其中X是我们拥有的书架宽度(以书籍为单位),Y是我们必须堆叠的书籍数量。如果我们在一个书架上放不下更多的书,则需要在顶部增加更多的书架。例如,这里输入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]大小(或同等大小)。 输出量 …

3
堆叠勾股三角
背景 毕达哥拉斯三角形是直角三角形,其中每个边的长度是一个整数(即,边的长度形成毕达哥拉斯三重): 使用这个三角形的边,我们可以附加两个不完全一致的毕达哥拉斯三角形,如下所示: 只要我们认为合适,就可以继续使用此模式,只要没有两个三角形重叠并且连接边的长度相等即可: 问题是,在给定的空间中,我们可以容纳多少个非一致的毕达哥拉斯三角形? 输入 您将通过函数参数,STDIN,字符串或任何您喜欢的变量接收两个整数作为输入,W和H。整数可以以十进制,十六进制,二进制,一元(祝您好运,Retina)或任何其他整数基数形式接收。您可能会认为max(W, H) <= 2^15 - 1。 输出 您的程序或函数应计算一个不重叠的连接的非一致勾股勾勒三角形的列表,并输出一组三个坐标的列表,其中一组坐标通过线连接时形成勾股勾勒三角形之一。坐标必须是我们空间中的实数(x必须在区间中,[0, W]并且y必须在区间中[0, H]),并且距离应精确到机器精度。三角形的顺序和每个坐标的确切格式并不重要。 必须有可能从一个三角形“行走”到其他任何一个,仅跨过相连的边界。 使用上述图作为一个例子,让我们的输入是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中,六边形格子是最密集的圆堆积。在这一挑战中,我们将专注于最大程度地减少圆包装的周长。可视化周界的一种有用方法是,想象将橡皮筋套在圆圈集合上。 任务 给定一个正整数n作为输入,请显示n尽可能紧密排列的一组圆圈。 规则和说明 假设圆的直径为1个单位。 要被最小化的变量是周长,其被定义为长度凸包的的中心组中的圆圈。看一下这张图片: 直线上的三个圆的周长为4(凸包是2x0矩形,对2计数两次),以120度角排列的圆的周长约为3.85,三角形的周长为只有3个单位。请注意,我忽略了实际周长的其他pi单位,因为我仅查看圆的中心,而不是圆的边缘。 对于任何给定,可能(几乎肯定会有)多种解决方案n。您可以自行决定输出其中的任何一个。方向无关紧要。 圆必须在六边形格子上。 圆圈的直径必须至少为10像素,并且可以填充或不填充。 您可以编写程序或函数。 输入可以通过STDIN作为函数参数或最接近的等效参数进行。 输出可以显示或输出到文件。 例子 下面我有n从1到10的有效和无效输出示例(仅对前五个有效示例)。有效的例子在左边;右侧的每个示例都比相应的有效示例大。 非常感谢steveverrill编写此挑战的帮助。包装愉快!

2
曼哈顿最坏情况排除
想象一下W到H的正方形正方形网格,它们以环形环绕。将项目如下放置到网格上。 第一项可以放置在任何正方形上,但是后续项一定不能在任何先前项的曼哈顿距离 R内(也称为范围R的冯·诺伊曼邻域)。仔细选择位置可以在没有更多有效位置之前将大量项目装配到网格上。但是,请考虑相反的目标:可以放置的且没有其他有效位置的最少物品数是多少? 这是半径5的禁区: 这是另一个半径5排除区域,这次是在边缘附近,因此包裹行为很明显: 输入值 三个整数: W:网格宽度(正整数) H:网格高度(正整数) R:禁区半径(非负整数) 输出量 整数N,它是可以放置的最小项数,可以防止任何其他有效的放置。 细节 半径为零时,排除区域为1平方(放置该项目的区域)。 半径N排除了在N个正交步长中可以到达的区域(请记住边缘以环形方式缠绕)。 您的代码必须适用于琐碎的R = 0情况,但不需要适用于W = 0或H = 0。 您的代码还必须处理R > W或R > H的情况。 时限和测试用例 您的代码必须能够处理所有测试用例,并且每个测试用例必须在5分钟内完成。这应该很容易(示例JavaScript解决方案每个测试用例需要花费几秒钟的时间)。期限主要是为了排除极端暴力手段。示例方法仍然是蛮力的。 如果您的代码在一台计算机上在5分钟内完成,但在另一台计算机上没有完成,这将足够接近。 输入形式的测试用例:输出为W H R : N 5 4 4 : 1 5 4 3 : 2 5 4 2 : 2 …

2
找到最小矩形的面积以包含最大为n的正方形
这是通常类型的序列问题,适用于OEIS序列A038666。也就是说,请执行以下任一操作: 接受否或任何输入,并输出A038666,直到宇宙热死为止。 接受一个正整数作为输入,并输出nnn A038666或其第一的第术语nnn条款。(如果使用000而不是111索引,则当然也必须1在0输入时输出。) 该nnn A038666的任期个矩形是其中最小的区域包含大小的非重叠广场1×1,2×2,…n×n1×1,2×2,…n×n1\times1,2\times2,\dots n\times n如果你使用111 -indexing。 例: 可以包含大小为1×11×11\times1到4×44×44\times4非重叠正方形的最小面积矩形的尺寸为7×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 2 1 x x x x 2 2 x 因此,a(4)=7×5=35a(4)=7×5=35a(4)=7\times5=35(111索引)。 类似地,包含大小为1×11×11\times1到17×1717×1717\times17 非重叠正方形的最小面积矩形的尺寸为39×4639×4639\times46,因此a(17)=39×46=1794a(17)=39×46=1794a(17)=39\times46=1794(111索引)。

4
包装木片
有两块木头。两者都由笔直的身体和身体下方的一些额外的块组成。在(0索引)位置0、4、7、9、10处有额外块的示例块: XXXXXXXXXXX X X X XX 该片段可以表示为01二进制序列,第ith个字符显示在第ith个位置是否有块。上面的示例可以表示为10001001011。 我们可以通过垂直翻转第二个(或者也可以水平翻转)来将它们组合在一起。翻转后,我们可以找到一个对齐,可以将两部分放在一起以使其高度为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个块。 您应该编写一个程序或函数,该程序或函数接收两个字符串作为代表两个片段的输入,并输出一个高度为3 的最小可实现宽度的整数。 输入值 两个字符串,由字符0和组成1。 两个字符串均包含至少一个字符。 您可以选择将两个字符串作为一个字符串并由一个空格连接在一起。 输出量 一个正整数,可以达到的最小总宽度。 例子 0 …

1
在正方形中找到对称
编写一个包含正整数列表的程序或函数。这些整数均表示2D平面上正方形的边长。每个正方形都可以移动到平面中的任何整数坐标,但不能旋转,也不能与其他正方形重叠。 对于每个正方形(不包括用于空白的空格)使用不同的可打印ASCII字符,您的程序/函数需要打印具有水平或垂直反射对称线的正方形的任何单个排列。如果不存在这样的安排,则不应该打印任何内容。 正方形是不同的字符,因此可以区分它们。只有所有正方形的并集形成的形状才需要对称。您可以假定该列表将包含不超过94个元素(因为有94个字符)。 例如,如果输入为[2, 1, 2, 2, 2],则可能的输出为: DD-- DD-- Z FFPP FFPP 此形状具有一条反射对称的水平线;它的上半部分和下半部分是镜像。还有其他一些可能性:(请注意,不需要触摸正方形,并且只要没有两个正方形由同一字符组成,就可以使用任何字符。) 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度的倍数。包装可能会碰触但不能重叠。 输出是重新打包的映像(到文件或标准输出)。您的程序可以使用任何输入或输出栅格图像格式。 您的程序必须接受任意数量的各种形状的软件包,图像的最大分辨率为4000x4000像素。请勿对此测试图像进​​行硬编码。如果我怀疑有任何针对该特定图像的提交内容,我保留用新的测试图像替换它的权利。 得分了 分数是包含排列的矩形的最小高度(宽度是输入矩形的宽度)。如果是平局,则最早的参赛者获胜。 照常禁止出现标准漏洞。

1
俄罗斯方块七巧板
介绍 七巧板是经典的难题,涉及将积木排列/装配成各种形状。来自中文七巧板-字面意思是“七个技巧板”。让我们采用这个想法,并使用七个Tetrominos块填充网格。 挑战 编写一个函数或程序,该函数或程序将网格坐标数组作为输入,并输出一个完整的10 x 20的网格,其中填充有俄罗斯方块,但指定坐标除外。 通过尝试保持片段分布均匀来优化您的分数。 标准 使用此坐标粘贴框完成任务。有五组坐标。随意修改写入坐标的格式,但不要修改值。 数据集#2无法解决-在这种情况下,只需输出填充了输入像元的网格(即X孔所在的位置)。 输入值 网格坐标表示网格中的“孔”。这些细胞不能包含Tetromino的任何部分。 网格坐标: (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表示网格中的孔。 输出量 使用标准Tetris网格大小(宽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 
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.