Pagini recente » Cod sursa (job #2610163) | Cod sursa (job #1997694) | Cod sursa (job #2204441) | Cod sursa (job #1124337) | Cod sursa (job #2743519)
#include <bits/stdc++.h>
#define e pair<int, int>
using namespace std;int read() {int n;scanf("%d", &n);return n;}int main() {freopen("dijkstra.in", "r", stdin);freopen("dijkstra.out", "w", stdout);vector<vector<e>> nodes(read() + 1);for (int m = read(); m; m--) {int a = read();nodes[a].push_back(e(read(), read()));}vector<int> m(nodes.size(), INT_MAX);set<e> c;c.insert(e(0, 1));while (c.size()) {e f = *(c.begin());c.erase(c.begin());if (m[f.second] <= f.first)continue;m[f.second] = f.first;for (e a : nodes[f.second])c.insert(e(a.first + f.first, a.second));}for (int i = 2; i < m.size(); i++)printf("%d ", m[i] == INT_MAX ? 0 : m[i]);return 0;}