长期潜伏在这里的第一次海报。
编写一个包含3个输入的程序:X,Y和Z。
- X =跨(列)
- Y =下降(行)
- Z =位置标记
然后,程序应在X上和Y上向下打印可视网格。该网格可以由“ +”以外的任何字符组成。每个“位置”都有一个索引号,从坐标1处的1开始,从1开始计数,然后一直向下直到结束。
X和Y始终至少为3,Z永远不会大于X * Y
。
Z将代表该位置,并在该位置以及左,右,上和下1个字符上打印为“ +”。例如:
+
+++
+
最后,如果+字符将截取边缘(最上,最左,最右和/或最下边缘),则+应当沿同一轴弹回并从另一侧溢出。
示例:输入= 5、5、13
-----
--+--
-+++-
--+--
-----
输入= 10、10、10
-------+++
---------+
---------+
----------
----------
----------
----------
----------
----------
----------
输入= 10、10、21
----------
+---------
+++-------
+---------
----------
----------
----------
----------
----------
----------
编辑:非正方形示例16,3,32
---------------+
-------------+++
---------------+
我想我已经涵盖了所有内容。输入应该没有限制,但是如果您的程序需要,则将其上限设置为64 * 64。
奖励点(我可以这样做吗?):输入Z不应大于X * Y,但是如果它大于Y * Z,则将中心+输出到网格的中间。
编辑:输入Z不能大于X * Y
编辑2:对X和Y进行了一些更改,希望更加清晰
这是代码高尔夫球,最短的代码获胜。