聚会编程题
发布时间: 2024-05-04 04:02:41
这道题目是经典的拓展欧几里德问题,如果没有听说过这类问题的解法的话可以去下面这个网站学习下 http://hi..com/wwt14/item/f6b53503e2b65f2ca0312df7
接下来讲下思路:
首先我们假设经过 t 时间之后相遇
就有 x+at mod L= y+bt mod L
即 t(a-b) mod L = y-x
变型为 t*(a-b) - p*L=y-x 其中 (a-b) 和 L已知
我们设 (a-b)=A -L=B y-x=C
我们就需要求一对t和p使得 A*t+B*p=C 且使 t 尽量小 这就变成了一个扩展欧几里德问题的基本模型
,套用一下拓展欧几里德问题的解法就可以完成此题了
热点内容