代码的冒险 2024 - 第20天:竞争条件

代码的冒险 2024 - 第20天:竞争条件

💡 原文英文,约600词,阅读约需3分钟。
📝

内容提要

第20天的挑战是一个2D拼图,要求从起点(S)到终点(E)导航,允许在墙壁(#)间“作弊”。使用Python编写程序,计算需要多少次“作弊”才能节省至少100皮秒。主要函数包括检查可移动性、遍历网格和计算曼哈顿距离。第二部分增加了20皮秒的作弊时间,扩大了可作弊范围。

🎯

关键要点

  • 第20天的挑战是一个2D拼图,要求从起点(S)到终点(E)导航。

  • 程序可以在墙壁(#)间“作弊”,允许临时通过墙壁,最多2皮秒和20皮秒。

  • 第一部分要求计算需要多少次“作弊”才能节省至少100皮秒,作弊时间为2皮秒。

  • 主要函数包括检查可移动性、遍历网格和计算曼哈顿距离。

  • 第二部分增加了20皮秒的作弊时间,扩大了可作弊范围。

  • 新函数get_cheat_endpoints用于查找当前坐标附近20单位范围内的位置。

  • 曼哈顿距离函数用于评估通过作弊节省的时间,适用于更大的作弊范围。

延伸问答

这个挑战的主要目标是什么?

主要目标是从起点(S)导航到终点(E),并计算需要多少次“作弊”才能节省至少100皮秒。

程序如何处理墙壁的移动?

程序可以在墙壁(#)间“作弊”,允许临时通过墙壁,最多2皮秒和20皮秒。

如何计算通过作弊节省的时间?

使用曼哈顿距离函数评估通过作弊节省的时间,适用于更大的作弊范围。

第二部分的挑战与第一部分有什么不同?

第二部分增加了20皮秒的作弊时间,扩大了可作弊范围。

主要函数有哪些?

主要函数包括检查可移动性、遍历网格和计算曼哈顿距离。

如何查找可作弊的位置?

使用新函数get_cheat_endpoints查找当前坐标附近20单位范围内的位置。

➡️

继续阅读