ZOJ ~ 3593 ~ One Person Game (扩展欧几里得,不定方程)

题意 你要从A走到B,你每次可以走a步,b步,a+b步问最小需要走多少步?无法到达输出 -1。 题解 先不考虑a+b步的情况,那么我们要求解的就是:,如果,证明无解。 假设原方程一组解为x0,y0,那么通解(x,y)为:,。 其实也就是两条直线:, 取一条平行于y轴的直线 x = t : 如果 x 和 y 异号,假设x > 0,y < 0也就是往前走x次a步,往后走y次b步。x < 0, y >
相关文章
相关标签/搜索