poj2431 一直Wa

在遍历加油站的时候,会将经过的x加油站放入优先队列,之后将x从数组中删掉,即用最后一个加油站来替代x;这时如果不 “i--”,则会漏掉检查原来的stop[n-1],则可能造成错误。

 1 if(stop[i].distence>=L)
 2             {
 3                 chosen.push(stop[i].fuelown);
 4                 if(i!=n-1)
 5                 {
 6                     stop[i].distence=stop[n-1].distence;
 7                     stop[i].fuelown=stop[n-1].fuelown;
 8                     i--;  //不加这个的话,会少检查一个原来的stop[n-1]。
 9                     n--;
10                 }
11                 else n--;
12             }
原文地址:https://www.cnblogs.com/clljs/p/9927657.html