朱民欽的回家之旅
description
我們的寒假集訓就快要結束了,而優秀的朱民欽學長也要踏上回家之旅了,給你乙個圖有n個地點,分別是1-n,我們學校是在1這個點,而朱民欽學長的家在n這個點,n個點之間存在m條道路,每一條道路有距離和花費金額,而朱民欽學長想想找一條距離最短的路,如果存在多條距離相等的路,那麼輸出花費最小的道路。現在請你告訴朱民欽學長,他回家的最短距離是多少,花費又是多少。
input
第一行兩個正整數 n,m。(1<=n<=1000,1<=m<=500000)接下來m行有四個整數u,v,w,x.分別表示u和v之間有一條道路,w代表距離,x代表花費金額。(1<=w,x <= 1000);
output
如果不存在回家的路輸出:"this is a sad story"如果存在輸出一行,距離,花費金額。(中間以空格隔開)
sample input 1
3 3sample output 11 2 2 3
2 3 2 3
1 3 4 5
4 5sample input 2
3 1sample output 21 2 3 6
this is a sad storyhint
道路均為無向邊。兩個點之間可能存在多條道路。
#include#include#include#include#include#include"vector"
#include#include "queue"
#define n 0x3f3f3f3f
using namespace std;
int p[1005][1005];
int pp[1005][1055];
int s[1005],vis[1005],d[1005];
int a,b;
void prime()
vis[1]=1;
s[1]=0;
for (int i=1; i<=a; i++) }}
}if (s[a]==n)
else
printf("%d %d\n",s[a],d[a]);
}int main()
p[i][i]=0;
}int w,e,r,t;
for (int i=1; i<=b; i++)
else if(p[w][e]==r&&pp[w][e]>t)
}prime();
}
網路流 費用流(dijkstra寫法)
p3381 模板 最小費用最大流 首先呢,dijkstra演算法求費用流是不如spfa求費用流的,因為這個題目不開o2優化,就過不去.那麼我們為什麼要用這個演算法呢?個人認為確實沒什麼用.還是用spfa或者zkw求費用流吧 總所周知,dijkstra是不能跑有負環的圖的,而我們在求最小費用流的過程中...
dijkstra 最小費用最大流
滑稽 dijkstra同樣為最短路演算法,為什麼不能跑費用流qwq 好像是因為有負權邊的緣故 但是如果我們如果使用某種玄學的將邊權都拉回到正數的話 就可以跑了dijkstra,開心qwq 如果我們每條邊暴力加上乙個很大的值的話,我們還需要記錄所經過的邊數,還要保證不溢位,十分的毒瘤 尻考慮給每個節點...
使用dijkstra求解最小費用最大流網路
在介紹如何使用dijkstra演算法求解最小費用最大流問題的時候,假設看這篇博文的讀者已經知道什麼是最小費用最大流問題及熟悉dijkstra單源最短路徑演算法。在這篇博文裡面,我並不會過多強調網路拓撲是有向圖和無向圖,因為對於無向圖來說,你可以簡單將其看成兩個點之間有一對有向邊的有向圖。求解最大最小...