世界是五乘五的细胞阵列。它包裹在所有侧面。可以像...
XXXXX XXXXX XXOXX XXXXX XXXXX
您是O。您喜欢环游世界,并且遵循以下规则(以C为当天):
- 在黄金时期,您会怀旧。返回到昨天开始的地方。
- 在奇怪的日子里,你会想家。如果可能,将水平步移到离家更近的地方,如果可能,将水平步移到离家近的地方。忽略世界包装是为了确定紧密度。
- 在偶数天,您都会感到冒险。向南移动C / 2步。
- 在平常的日子里,您会感到冒险。移到东墙。
- 在斐波那契的日子里,世界向南扩展了一排。
- 在三角天,世界向东扩展一列。
如果要同时应用上述两个或多个规则,请按照列出的顺序应用它们。例如,在一个奇特的黄金日,首先返回到昨天开始的地方,然后再离家更近一步。
您生活在(初始)世界的中心,即位置(2,2),从西北角零索引开始。从第一天开始您的旅程。
输入项
一个整数N。
输出量
您的X和Y坐标在第N天,从西北角零索引,以一个空格分隔。
测试用例及解释
给定输入3
,正确的输出为:
2 3
我们可以一次完成这一天。从第1天开始,我们需要执行以下操作:
- 奇数,正方形,斐波那契和三角形
- 素数,偶数和斐波那契
- 素数,奇数,斐波那契和三角形
视觉形式:
第1天第2天第3天 XXXXX XXXXXX XXXXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXOXX-> XXXXOX-> XXXXXX-> XXXOXXX XXXXX XXXXXX XXOXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXXX XXXXXXX
其他测试用例
感谢MartinBüttner的参考解决方案(请注意,您应该只输出一个坐标,而不是全部坐标):
Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Output: 4 2 2 3 3 2 6 4 2 2 2 5 2 2 2 6 7 5 7 0 6 4 6 0 5 3 5 10 4 9 9 6 3 8 3 6 2 7 2 6 2 5 2 4 2 4
这是代码高尔夫。提交时间最短者获胜。