为了逃避达莱克部队的努力,医生决定将它们以螺旋运动在各个空间移动,从而使其旋转。
根据可用时空的性质,医生需要进入TARDIS,控制空间部分的高度和宽度以及开始螺旋的入口点。
可以将空间的一部分想象成一个h x w的网格,从左到右,从上到下,从1开始填充连续的整数。
起始位置以rc的形式提供给行和列...从这开始,TARDIS的软件需要吐出从r列c沿逆时针方向向外螺旋地向上获得的整数的有序列表。
作为Doctor的助手,您的任务是对TARDIS进行编程,使其采用以下格式的四个数字,height width row column并确定TARDIS需要移动哪个空间区域以匹配下面描述的螺旋运动...
输入1
5 5 3 3
(5 x 5格,从位置3,3开始)
输出1
13 8 7 12 17 18 19 14 9 4 3 2 1 6 11 16 21 22 23 24 25 20 15 10 5
解释输出
原始网格

产生螺旋

输入2
2 4 1 2
(从位置1,2开始的2 x 4网格)
输出2
2 1 5 6 7 3 8 4
解释输出
略有不同,因为螺旋现在必须围绕网格旋转才能生成相应的输出...
原始网格

产生螺旋

规则:
这是代码高尔夫球,因此最短的代码长度会得到批准。
以上示例必须用于测试您的代码。如果没有提供相应的输出,则说明存在问题...
您必须在答案中同时提供高尔夫版本和高尔夫版本的代码...
祝好运!
我可以向您指出draw.io,在那里可以快速制作出相当合理的图纸(您的手绘版本具有出色的可读性,只是我看不到任何红色圆圈)。考虑i.stack.imgur.com/xbLSA.png作为可以完成的示例。请注意,其中嵌入了xml,因此如果您进入draw.io,则可以从url导入。
我会记住这一点,因为我下次需要绘图时,@ MichaelT,谢谢您……
—
WallyWest 2015年
我发布一个答案,函数返回数组作为输出。可以接受吗?
—
edc65
@ edc65 Mate,您和我在CG上回到了这里,为此我将允许使用S(h,w,r,c)之类的功能... :)
—
WallyWest