ZOJ 3946 單源最短路

2021-07-11 11:49:21 字數 782 閱讀 9349

//題意:給定n個點,m條路,每條路的花費為d,消耗的時間為c

// 求從起點到各個點的時間之和最小且花費最小

//方法:spfa跑一遍並維護cost 答案會爆int 有點坑

#include #include #include #include #define error 999999999

using namespace std;

int fir[100100], vis[100100];

long long dis[100100], cost[100100];

long long ans, sum;

int cnt;

queue que;

struct node edge[200010];

void add(int a, int b, int c, int d)

void spfa(int op, int n)

que.push(op);

vis[op] = 1;

cost[op] = 0;

dis[op] = 0;

while(!que.empty())

}else if(dis[now] + val == dis[to])}}

}}

sum = ans = 0;

for(int i = 0; i < n; i++)

}int main()

spfa(0,n);

cout<}

return 0;

}

單源最短路

題目描述 給出乙個有向圖,請輸出從某一點出發到所有點的最短路徑長度。輸入第一行包含三個整數n m s,分別表示點的個數 有向邊的個數 出發點的編號。接下來m行每行包含三個整數fi gi wi,分別表示第i條有向邊的出發點 目標點和長度。輸出n行,每行n個用空格分隔的整數,其中第i個整數表示從點s出發...

單源最短路

恢復內容開始 dijkstra spfa floyd多源變單源 熱浪 模板題 使用spfa過 spfa 從佇列中取出點進行鬆弛操作 使用st記錄點是否還在佇列中 如果這個點本來就存在佇列中那麼就重複加入點了void spfa int s 信使 廣播式求時間 求廣播所有點的最短時間 每個點接受到向他的...

多源最短路和單源最短路

多源最短路 例題 usaco08open clear and present danger s 單源最短路例題 dijkstra求最短路 i 給定乙個n個點m條邊的有向圖,圖中可能存在重邊和自環,所有邊權均為正值。請你求出1號點到n號點的最短距離,如果無法從1號點走到n號點,則輸出 1。輸入格式 第...