Pagini recente » Cod sursa (job #2162040) | Cod sursa (job #2783161) | Cod sursa (job #2046043) | Cod sursa (job #1298020) | Cod sursa (job #1551737)
#include<fstream>
using namespace std;
const int prcMax = 23005;
typedef int matrice[prcMax][prcMax];
matrice Dist;
int n, m;
void init() {
ifstream fin("dijkstra.in");
int x, y, L;
fin >> n >> m;
for (int i=1; i<=m; ++i) {
fin >> x >> y >> L;
Dist[x][y] = Dist[y][x] = L;
}
fin.close();
}
void dijkstra() {
for (int nod=2; nod<=n; ++nod)
for (int i=2; i<=n; ++i)
if (i != nod && Dist[nod][i] > 0)
if (Dist[1][i] > Dist[1][nod] + Dist[nod][i] || !Dist[1][i])
Dist[1][i] = Dist[1][nod] + Dist[nod][i];
}
void finish() {
ofstream fout("dijkstra.out");
for (int i=2; i<=n; ++i)
fout << Dist[1][i] << " ";
fout.close();
}
int main() {
init();
dijkstra();
finish();
return 0;
}