我是源點,你是終點。我們之間有負權環。 ——小明
在小明和小紅的生活中,有n個關鍵的節點。有m個事件,記為乙個三元組(si,ti,wi),表示從節點si有乙個事件可以轉移到ti,事件的效果就是使他們之間的距離減少wi。
這些節點構成了乙個網路,其中節點1和n是特殊的,節點1代表小明,節點n代表小紅,其他代表進展的階段。所有事件可以自由選擇是否進行,但每次只能進行當前節點鄰接的。請你幫他們寫乙個程式,計算出他們之間可能的最短距離。
輸入格式:
第1行,兩個正整數n,m.
之後m行,每行3個空格隔開的整數si,ti,wi。
輸出格式:
一行,乙個整數表示他們之間可能的最短距離。如果這個距離可以無限縮小,輸出「forever love」(不含引號)。
輸入樣例#1:
3 31 2 3
2 3 -1
3 1 -10
輸出樣例#1:
-2
對於20%資料,n<=10,m<=50。
對於50%資料,n<=300,m<=5000。
對於全部資料,n<=1000,m<=10000,|wi|<=100,保證從節點1到n有路徑。
spfa判環
1 #include2 #include3 #include4 #include5using
namespace
std;
6#define maxn 10000000
7#define inf 1<<30
8int
n,m,x,y,z,dis[maxn],head[maxn],num,ans,sum[maxn];
9bool
vis[maxn];
10struct
edgeedge[maxn];
13void ins(int u,int v,int
d)14
20int spfaa(int
now)
2139}40
}41return0;
42}43int spfa(int
now)
4463}64
}65 vis[x]=false;66
}67}68
intmain()
6976
if(n==999)77
81for(int i=1;i<=n;i++)
8291}92
}93 spfa(1
);94 printf("%d"
,dis[n]);
95return0;
96 }
P2136 拉近距離
我也想有這樣的愛情故事,可惜我單身 其實這道題就是乙個比較裸的最短路問題。對於乙個三元組 s,w,t s其實就是乙個端點,而w就是到達的端點,連線兩個端點的邊長為 t,注意要取乙個相反數,這樣才能繼續跑最短路 那麼題意也就這麼看完了,就是很簡單的跑最短路嘛,小明是起點,小紅是終點,小明追小紅就完事了...
洛谷P2136 拉近距離(負環判定)
我是源點,你是終點。我們之間有負權環。小明 在小明和小紅的生活中,有 nnn 個關鍵的節點。有 mmm 個事件,記為乙個三元組 si,ti,wi s i,t i,w i si ti wi 表示從節點 sis isi 有乙個事件可以轉移到 tit iti 事件的效果就是使他們之間的距離減少 wiw i...
洛谷 2136 拉近距離
我是源點,你是終點。我們之間有負權環。小明 在小明和小紅的生活中,有n個關鍵的節點。有m個事件,記為乙個三元組 si,ti,wi 表示從節點si有乙個事件可以轉移到ti,事件的效果就是使他們之間的距離減少wi。這些節點構成了乙個網路,其中節點1和n是特殊的,節點1代表小明,節點n代表小紅,其他代表進...