2023年阿里达摩院全球数学竞赛 预赛 第四题

为了对本人本科+研究生的学习作个交代,现在最起码每天刷点高数,直至 3 小时能拿下数学题吧。

今天早上饶有兴趣地逛了自己的知乎,于是看到收藏的 2023年 阿里数学竞赛,预赛。第四题,那么过程就放上来吧!

 

题目

 

 

解题

1.一开始我思索着,直击写一段代码,让计算机帮我算。所以我关注的是【规则】。

 

2.整理完这些规则之后,我开始分析题目中的条件。就是【跑遍所有的路口】,换言之,10条线相交之后,质点必须经过每一个交点。

思考最简单的情形,质点跑一个单位,右转,跑一个单位,右转,跑一个单位,右转。就回到原点了。

那么问题来了。

 

01 怎么遍历所有的交点呢?

 

如果不考虑一笔画问题,只是考虑遍历所有交点,这个时候,只要沿着横线(或者竖线)一条一条地遍历即可。

 

因为有一笔画问题,每个交点只能遍历一遍。因此,上述路径修改为

 

这样就完成了这道题的一笔画问题。

 

02 如何计算时间(或者 COST)?

 

内部:直行路口 7 个,路径8条,共直行 56次
外部:直行路口 8 个,路径 3 条,共直行 24 次
转弯:右转无成本,左转成本2,每个长方体成本 4,共 4 个,16次等待
综上,等待时间单位数量 = 56 + 24 + 16 = 96

 

比较有意思的是,原来不是一笔画的时候,算出来是多少 COST?

 

只考虑把节点遍历:
8个路口 * 10 = 80个路口=80 Unit
左转路口 8 个 = 16 Unit
综上,80 + 16 = 96 unit

 

非常巧合,也是 96 个unit。

 

那么,遍历和一笔画的 COST 是一样的,这是巧合吗?

思考 20 x 20 矩阵。

首先,考虑一笔画问题。

 

如果 20 * 20
内: 17 * 18 = 306
外:18 * 3 = 54
转:2 * 2 * 9 = 36
综上, 306 + 54 + 36 = 396

 

再次,考虑直接一行一行全部遍历的情况。

 

20 * 20
18个路口,20条马路 = 360 Unit
转: 2 * 2 * 9 = 36
综上,360 + 36 = 396

 

我们神奇地发现,这个一笔画问题退化的时候,不影响计算结果。

欢迎进一步讨论,以及关注 ShoelessCai.com !

 

posted on 2024-01-28 19:59  Mira_2019  阅读(12)  评论(0编辑  收藏  举报