Questions tagged «ascii-art»

这项挑战涉及使用文本字符作为绘画来创建或解析图片。通常,它仅使用1963年ASCII标准定义的95个可打印字符(总共128个)。

1
欢乐欢乐
背景 美国对接送服务有着独特的热爱-故意操纵选举区来预测某些投票结果。就在最近,最高法院审理了一个载人妖案。尤其是与种族有关的游击队员被裁定为非法,并导致要求重划分区线。 给定一个自治市的矩形地图(二维数组),您将绘制区域线以帮助您的政党获得最大的代表权。就是说,你会很高兴。每个市政当局都有两个政党,0并且1。地图将由正方形0或正方形组成1。这是一个示例地图: 挑战 您将地图分组为地区,以便该1聚会至少获得输入所指定的地区数。 输入项 输入将包括一张地图,要绘制的区域数以及该1方需要赢得的最小区域数(最小分数)。 输出量 输出将是各地区的地图。每个地区将唯一地由大写字母组成。是的,这意味着不超过26个区。 如果没有可能的输出,则输入的一方赢得了足够的分区,请执行以下任一操作: 打印“我们尝试过...” 致命错误,因为该党在选举结果中受到不可弥补的伤害 或两者 规则(也很重要) 所有地区必须是连续的 地区中可能没有其他地区 每个区必须至少有四个节点。输入内容将与规则一致,这意味着number_of_districts * 4地图中至少会有节点 每个政党的分数是其占多数的区数 如果一个区的0s和1s 数目相同,那么任何一方都不会从中受益 正常的不作弊规则 这是代码高尔夫球,因此以字节为单位的最短代码获胜。 测试用例 1. Input 1. Output 2. Input 2. Output 3. Input 3. Output districts: 5 Image and map districts: 3 Image below districts: 3 fatal error …

30
输入的对角字母
受此职位启发。对于那些将此问题标记为重复的问题,我敦促您实际阅读该问题,以了解我的问题是对所链接问题的修改。一个链接不要求输入,而只是对角打印字母。 挑战 给定输入(包括1-26)(包括1-26),请对角打印字母,但开始在给定输入的索引处垂直打印。 例子 给定输入: 16 您的程序应输出: a b c d e f g h i j k l m n o p q r s t u v w x y z 输入: 4 输出: a b c d e f g h i j k l m n …

3
精瘦的豆子机
向人们介绍离散概率分布概念的经典示例是bean机器。这台机器有大量的大理石从顶部狭窄的通道掉落,然后它们撞到交错的销钉行,在每个销钉处,大理石撞件可能会落到销钉的左侧或右侧。最终,将销钉收集到机器底部的垂直箱中。这台机器的简单图如下所示: | O | | ^ | | ^ ^ | | ^ ^ ^ | | ^ ^ ^ ^ | | ^ ^ ^ ^ ^ | |_|_|_|_|_|_| 在此图中,O表示大理石掉落的位置。每个^都是钉子,大理石在该钉子处有50%的机会移动到钉子左侧或右侧的正方形。然后,大理石聚集在设备底部的垃圾箱中,对于足够多的大理石,垃圾箱中的大理石堆叠高度将类似于离散的二​​项分布。 挑战 对于这一挑战,您将基于上图来计算bean机器的最终概率分布。这些图被解释为大理石通过的二维“程序”,即朝向侧场或当前场下方的场。当弹珠到达机器底部时,它们会被计算为概率分布。为了使它有趣,这些图将包含比简单的源代码和引脚更多的字段。一个示例图是: | O | | ^ | | ^ / | | ^ | ^ | | <^- …

7
挥旗
像这样一个标志: ----------------------------- | | | | | | |=============+=============| | | | | | | ----------------------------- 和一个数字输入:“波长” 假设波长为5。然后,从头开始沿行每5个字符替换下一个字符a -,\并将其后的所有字符向下移动一行。重复此操作直到结束。您最终得到: -----\ | -----\ | -----\ |===== | -----\ | ====== | ----- | ==+=== | -----\ | ====== | -----\ | ====| -----\ | -----\ | ----- 如果您最终无法沿整个波长移动,则标记结束。保持平直直到结束。 您可以假定所有行的长度均相同,并且顶行和底行全部由-(0x2D)组成,其余字符位于!"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~或为空格()。(因此,它的ascii值为x,其中31 < x …

25
鸽子洞原理和代码高尔夫
该鸽巢原理指出, 如果将N个项目放入M盒中,且N > M,则至少一个盒子必须包含一个以上的项目。 对于许多人来说,与其他数学运算相比,该原理具有特殊的地位。正如EW Dijkstra 写道, 它被一些神秘感所包围。使用它的证明通常被认为是特殊的东西,特别是巧妙的东西。 挑战 这项挑战的目的是使用ASCII艺术表示法来说明鸽洞原理。特别: 以输入N(项目数)和M(框数)N为正和非负M。N可能小于M(即使该原则在这种情况下不适用)。 随机选择可能的项目分配到框之一。每个分配都应具有非零的被选概率。 生成分配的ASCII艺术作品表示,如下所示: 有几M行,每行对应一个框。 每行以非空白字符开头,例如|。 在该字符之后是另一个非空白字符,例如#,与该框中的项目重复的次数很多。 例如考虑N = 8,M = 5。如果项盒中的所选赋值是4,1,0,3,0,表示是 |#### |# | |### | 相同程序的不同运行(导致不同的分配)可能会导致 |# |## |# |# |### 表示有一些灵活性;见下文。 具体规则 该代码应理论上任何值运行的N和M。实际上,它可能受内存大小或数据类型限制的限制。 由于观察输出不足以确定所有赋值是否具有非零概率,因此每个提交都应说明代码如何实现(如果不是很明显)。 允许以下表示形式的变化: 可以选择任何一对不同的非空白字符。它们在程序执行之间必须保持一致。 表示形式可以旋转90度。同样,选择必须是一致的。 允许尾随空格或前导空格。 以具有不同表示形式的示例为例,对于N = 15,M = 6该程序两次执行的结果可能是 VVVVVV @@@@@@ @@ @@@ @ …

6
ASCII Cayley图
在针对我正在提出的其他挑战进行一些研究时,我遇到了一个Cayley图,特别是这个图。因为我是顶级的 ascii艺术挑战者之一,所以我当然必须为此提出ASCII艺术挑战。 您的挑战是如何在两个生成器上生成自由组的Cayley图的ASCII艺术描述,如下所示: + +++ + | + ++-+-++ + | + + | + +++ | +++ + | | | + ++-+----+----+-++ + | | | + +++ | +++ + | + + | + +++ | +++ + | + | + | + ++-+-++ | …


28
将ASCII表重新创建为ASCII表
通常,在进行代码搜寻时,我想知道某个字符的ASCII值是什么。我最喜欢的快速查找所有可打印ASCII字符的资源之一是ASCIItable.com。这有一个非常漂亮的图像,它不仅显示可打印的ASCII字符及其值,而且还显示不可打印和扩展的字符以及十六进制,八进制和HTML的值: 当今的挑战是将ASCII表重新创建为ASCII表而不是图像。为简化起见,我们将不使用控制字符(低于32的字符),而仅显示十进制值和字符。换句话说,您面临的挑战是编写打印或返回以下文本的完整程序或函数: Dec Chr | Dec Chr | Dec Chr ---------------------------------- 32 Space | 64 @ | 96 ` 33 ! | 65 A | 97 a 34 " | 66 B | 98 b 35 # | 67 C | 99 c 36 $ | 68 D | 100 …

8
可视化数组
给定任意深度的数组,请使用+-|每个子数组周围的边框绘制其内容。这些是加号,减号和垂直管道的ASCII字符。 例如,如果数组为[1, 2, 3],则绘制 +-----+ |1 2 3| +-----+ 对于嵌套数组,例如[[1, 2, 3], [4, 5], [6, 7, 8]],绘制 +-----------------+ |+-----+---+-----+| ||1 2 3|4 5|6 7 8|| |+-----+---+-----+| +-----------------+ 对于参差不齐的数组,例如[[[1, 2, 3], [4, 5]], [6, 7, 8]],绘制 +-------------------+ |+-----------+-----+| ||+-----+---+|6 7 8|| |||1 2 3|4 5|| || ||+-----+---+| || |+-----------+-----+| +-------------------+ 请注意,绘制后还有更多空间[6, …

18
画一个坎String的弦
(受此挑战启发。) 假设我们有一个字符串ABBCBA。我们可以说,之间存在上升A和B,为B如下A; 我们可以说B和之间有一个过渡B,没有任何变化;最后我们可以说C和之间有一个落差B。我们可以这样画一个图: A B B C B A Rising: o o Continuing: o Falling: o o 没有标签,并最小化空白: o o o oo 这是输入的预期输出ABBCBA。 您可以使用任何非空白字符替换o输出中的字符。此外,每列之间可以选择有一个额外的空间,如下所示: o o o o o 输入内容将至少包含三个字符。该字符串将完全由大写字母组成,但是您可以改用小写字母。 测试用例 TEST CASE LINE 1 LINE 2 LINE 3 HELLOWORLD o oo o o o o oo TESTCASE oo o …

10
四路交叉口发电机
这是四向交叉的ASCII艺术: | | | | | | | | | | | | | -----+-----+----- | | - - -| |- - - | | -----+-----+----- | | | | | | | | | | | | | (请注意,水平道路的高度为3行,而垂直道路的宽度为5列。这是出于审美原因,因为是矩形字体。) 您的挑战是产生这种ASCII艺术。但是,正如我确定的大家所知道的,并不是每个交叉路口都有在每个方向上行驶的道路。这个特定的路口走了NESW,但是某些路口可能走了,例如NW: | | | | | | | | | …

22
ASCII艺术反射
在此挑战中,将为您提供一个文本块,并且您需要对文本进行反射。 输入: 要反映的字符串。文本不能作为其元素为文本行的数组提供。例如,"ab\ncd"并且['a','b','\n','c','d']是允许的,但['ab','cd']还是[['a','b'],['c','d']]没有。您可以假定所有行都具有相同数量的字符(在需要时用空格填充)。 一个布尔值,其中True指示Y反射并False指示X反射 这两个输入可以任何顺序传递。 输出: 反映的字符串。字符不会改变,只会改变位置。生成的图像块应与左上角对齐(第一行和第一列必须分别包含非空格字符)。允许尾随空格(在任何行上)。 测试用例: False o / --|/ | / \ / o /|-- | \ / True o / --|/ | / \ / \ | --|/ o / True text text False text txet True P P C G G C P P False …

8
将日期转换为xkcd表示法
在关于ISO 8601标准日期格式的 xkcd中, Randall用一种非常奇怪的替代表示法偷偷摸摸地: 大数字是以当前顺序显示在当前日期中的所有数字,小数字是该数字出现的基于1的索引。因此,以上示例表示2013-02-27。 让我们为这种日期定义一个ASCII表示形式。第一行包含索引1到4。第二行包含“大”数字。第三行包含索引5到8。如果在一个插槽中有多个索引,则它们从最小到最大依次列出。如果m单个插槽中最多有索引(即,在同一数字上,并且在同一行中),则每一列应为m+1字符宽度且左对齐: 2 3 1 4 0 1 2 3 7 5 67 8 另请参见伴随挑战,以获得相反的转化。 挑战 给定ISO 8601日期(YYYY-MM-DD),输出相应的xkcd日期表示法。 您可以编写程序或函数,通过STDIN(或最接近的替代方案),命令行参数或函数自变量获取输入,并通过STDOUT(或最接近的替代方案),函数返回值或函数(out)参数输出结果。 从0000到的任何一年9999都是有效的输入。 允许使用尾随空格,不允许使用前导空格。您可以选择输出一个尾随换行符。 适用标准代码高尔夫球规则。 测试用例 2013-02-27 2 3 1 4 0 1 2 3 7 5 67 8 2015-12-24 2 3 1 4 0 1 2 4 5 …

3
打高尔夫球自己喝啤酒
是星期五!这意味着该喝啤酒了! 可悲的是,今天我们将打高尔夫球而不是喝啤酒。:( 挑战 输出啤酒并饮用。您采取的饮酒量会改变您的输出。 ps 您的程序应采用一个输入字符串。该字符串只能由串联sip的组成。 如果输入为空字符串,则应输出完整的啤酒杯,包括泡沫。 你喝的越多,啤酒杯就越空。 如果您喝0 ip,则您的啤酒仍然有泡沫。这种泡沫的输出始终是相同的(请参见示例)。 如果喝一口,则应输出啤酒杯,然后输出新行和字符串Yuck, foam.。 如果您喝一口或多杯,啤酒杯中将不再含有泡沫,而应露出玻璃杯的顶部。喝泡沫算一口。 如果您喝了6口或更多,则应输出一个空的啤酒杯,然后输入新行和字符串Burp。 每喝一口,啤酒杯就会变空。啤酒杯的装满量取决于啤酒中气泡的数量°(°)。泡沫后,每次喝一口,应去除一连串的气泡。每行啤酒最多可包含气泡1,最多可包含5气泡。这些气泡的位置应为100%随机。 例子 输入 empty input string, or no input at all 输出 oo o oo oooooooooooo o| ° ° |\ | ° | \ | °° ° |} | | ° ° | / | ° …

5
ASCII龙曲线
介绍 在龙的曲线是,特别是在侏罗纪公园小说的章节标题的页面会出现一个分形曲线。 可以非常简单地将其描述为折叠纸带的过程,如Wikipedia文章中有关此曲线的说明中所述。 生成此曲线的前几次迭代如下所示(图片来自Wikipedia): 挑战 编写一个程序或函数,给定整数n作为输入,仅使用符号_和符号将龙曲线的第n次迭代输出为ASCII艺术形式| 你必须输出仅使用数字|,_和空间。您可能不会将曲线输出为曲线图或其他任何形式。 您可以将输入作为程序参数,STDIN或函数参数。 输入将始终是> = 0的整数。您的程序应该为合理的输入值工作,在所提供的测试用例中,最高值为12。 第一次迭代应如下所示 迭代0为 _ 迭代1为 _| 迭代2为 |_ _| 最后一条尾随行是可以的。除了将线填充到曲线中最右边的字符之外,不允许尾随空格 不会像往常一样滥用标准漏洞 测试用例 输入项 0 输出量 _ 输入项 3 输出量 _ |_| |_ _| 输入项 5 输出量 _ _ |_|_| |_ _ _| _| |_|_|_ |_|_| |_ _| |_| 输入项 10 …

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.