问题的链接是 - http://opc.iarcs.org.in/index.php/problems/METRO 我不知道如何处理这个问题。
答案 0 :(得分:1)
在起始站有一个令牌。当火车经过火车站时,它“拿起”一个令牌副本,然后在每个站点“掉落”它的副本。
同样地,当任何一列火车通过一个带有令牌的火车站时,如果它没有一个火车,它会拿起一份副本。
模拟此项,直到目标站收到令牌。
在目标站收到令牌之前,有N+M
列车要跟踪,最多O(N+M)
步。因此,这应该在O((N+M)^2)
时间内运行。
您可以通过为每个工作站设置一个计数器并使用算术沿其行和列传播新更新的计数器值来隐式模拟这个,但它仍然是二次时间,因为您有一个二次数的站点到处理,所以你也可以明确地做,并保持简单。