No testdata at current.
目标是找到所有镜子接收到光芒的最早时间。因此可以想到单源最短路算法:dijkstra
首先,我们需要创建一个二维数组 dis
来存储每个镜子接收到光芒的时间,初始值设为一个较大的数。同时,我们需要一个二维数组 bk
来标记每个镜子是否已经接收到光芒,初始值设为 False
。
然后,我们使用优先队列 q
,并将初始镜子的坐标和接收到光芒的时间(设为 0)加入队列。
接下来,我们进行Dijkstra算法。在每一步,我们取出队列中时间最早的镜子,然后更新其四个方向的镜子的接收时间。如果新的接收时间比当前的接收时间早,我们就更新接收时间,并将新的镜子加入队列。
本题属于以下题库,请选择所需题库进行购买