gpt4 book ai didi

language-agnostic - Code Golf : Connecting the dots

转载 作者:行者123 更新时间:2023-12-03 06:06:14 25 4
gpt4 key购买 nike

您可能还记得小时候的这些图画,但现在是时候让计算机绘制它们了(以完整的 ASCII 格式)。玩得开心!

描述:

输入是描述“字段”的多行(以换行符结尾)。该字段中散布着“数字”(由空格分隔)。所有行都可以被认为是相同的长度(您可以在末尾添加空格)。

  • 数字始终从 1 开始
  • 它们遵循自然数的顺序:每个“下一个数字”都会增加 1
  • 每个数字的左右两侧(至少)有一个空格

任务:

按照自然顺序在这些数字之间画线 (1 -> 2 -> 3 -> ...N) (假设 N <= 99)具有以下特征:

  1. 将数字替换为 ' + ' 字符
  2. 对于水平线:使用 ' - '
  3. 对于垂直线:使用 ' | '
  4. 向左、向下或向右、向上:/
  5. 向左、向上或向右、向下:\

重要说明:

  1. 绘制类型 4 和 5 的线时,您可以假设(给定与坐标 x1、y1 和 x2、y2 连接的点)distance(x1,x2) == distance(y1,y2) 。或者换句话说(正如用户 jball 评论的那样):“未水平或垂直对齐的连续元素始终与斜杠或反斜杠的斜率对齐”。

  2. 遵循点的连接顺序非常重要(新线可以删除旧线)。

-- 示例输入 1 --

                                  8                                   7  6                       10       9                                               5                                                 3  4                         11                    12                       13              1                          2                     

-- 示例输出 1 --

                                 +                                                                /|                                                               / +--+                                                  +--------+      \                                                /                 \                                              /                   +                                            /                    |                                           /                  +--+                                          +                   |                                              \                  |                                               +------------------------+                               +--------------------------+        

-- 示例输入 2 --

                        64                                  63                                  62 61                                            1  65                                                    66    57 58                                              2      56  59               45                                   67  55                  46                           3                               44                                    54  60            47                                        53 52   49      48                           4                51 50       43                       5                                42                                                          41                          6              23                                                           22 25  26       40                                    20 21 24            34                               7 13 12                    33                                        19              27  32                                     14                        35                          8   15                                                           16                                                                            39                                        17  18         28  31 36                                 9                     38                                       10 11          29  30 37                       

-- 示例输出 2 -- ( unicorn reference )

                       +                              /+                           //                              //                           //                             /+--+                      +  +     \                       | +     +-\+                        +  \   +   \                +                      /    +   +   \               +\                +          \   \              | +                   |           +   +             +/                       |            +--+    +-------+/                           +                +--+        +                         /                              \                        +                                +                         |                                +                           +              +                /                        \             +\ +---+        +                       \        +--+  +     \      /+                           + +--+ /             \    /+|                         /  |  |+               +  /+ |                            /   +  ||              /  //  +                      +   +   ||             /  //  /                           \   +  ||            /  //  /                          \  |  ||           /  +/  /                               \ +---+          +   +\ +                                +   |           |   | +|                                +--+           +---+  +               

获胜者:

最短的解决方案(按代码字符数)。可以通过标准输入读取输入。

最佳答案

Commodore 64 BASIC - 313 个字符

编辑:请参阅下面的高尔夫版本

一起回顾内存 PET 图形、POKEPEEK 以及一切:)

It fits in a single screen:)

程序直接在屏幕内存中运行,因此您只需继续,清除屏幕,放置点,然后输入RUN:

Input

您必须等待一分钟左右,它才能找到点,然后开始绘制。它并不快 - 你实际上可以看到正在绘制的线条,但这是最酷的部分:)

Output

高尔夫版本:

Commodore BASIC似乎是打高尔夫球的一种很棒的语言,因为它不需要空格:)您还可以通过输入未移位的第一个字母和移位的第二个字母来缩短大多数命令。例如,POKE 可以输入为 P[SHIFT+O],在屏幕上显示为 P┌:

Golfed version

关于language-agnostic - Code Golf : Connecting the dots,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2527477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com