第一行兩個整數n,m。接下來是m行,每行三個整數x,y,t,表示x有一條通向y的單向通路,小c走這條路需要的時間為t。
如果小c無法完成「閒逛」,輸出「impossible」,否則輸出最短的時間。
列舉一條邊刪掉,找連線兩點的最短路+邊權就是環的長度
很暴力的做法不過太懶不優化了
#include
#include
#include
#define n 101
#define e n*(n-1)/2+1
#define inf 0x7f7f7f7f
using
namespace
std;
struct edgee[e];
int dis[n],ls[e],maxe=0;
bool vis[n];
int min(int x,int y);ls[x]=maxe;}
int spfa(int st,int ed)
}vis[now]=false;
}return dis[ed];
}int main()
int ans=1061109570;
for (int i=1;i<=maxe;i++)
if (ans<1061109570)
printf("%d\n",ans);
else
printf("impossible\n");
return
0;}
小A的最短路
樹上問題求兩個點的最短距離,顯然能用lca lcalc a來進行log nlog n logn 的查詢,引入了兩個無邊權的點,所以我們的路勁就可以規劃成三種x y,x u v y,x v u y x y,x u v y,x v u y x y,x u v y,x v u y 只要在這三個當中取乙個最...
SSL 1500最短路上的統計
time limit 1000ms memory limit 65536k 乙個無向圖上,沒有自環,所有邊的權值均為1,對於乙個點對 a,b 我們要把所有a與b之間所有最短路上的點的總個數輸出。第一行n,m,表示n個點,m條邊 接下來m行,每行兩個數a,b,表示a,b之間有條邊 在下來乙個數p,表示...
一百貼紀念! 最短路 列舉 小薩的煩惱
題目描述 小薩將給出一張地圖,它可以看做乙個有n n 100 個結點的圖。這張地圖有n個公共汽車站,小薩只可以在這n個汽車站上公共汽車。有些車站之間存在一條雙向通路,無論是公共汽車還是小薩,都只能走這些通路。若兩個車站之間的距離為d,步行所需要的時間為2 d秒,坐公共汽車所需要的時間為d秒。小薩他們...