Pagini recente » Cod sursa (job #2854203) | Cod sursa (job #1775947) | Cod sursa (job #1001894) | Cod sursa (job #214841) | Cod sursa (job #355069)
Cod sursa(job #355069)
#include <fstream>
using namespace std;
#define Mmax 250001
#define inf 1<<30
int x[Mmax],y[Mmax],c[Mmax],d[Mmax],n,m;
void read()
{
ifstream f("dijkstra.in");
f>>n>>m;
int i;
for(i=1;i<=m;i++)
{
f>>x[i]>>y[i]>>c[i];
}
for(i=2;i<=n;i++)
d[i]=inf;
}
void solve()
{
int ok=0;
while(!ok)
{
ok=1;
for(int i=1;i<=m;i++)
if(d[y[i]]>d[x[i]]+c[i])
d[y[i]]=d[x[i]]+c[i];
}
}
void show()
{
ofstream g("dijkstra.out");
for(int i=2;i<=n;i++)
if(d[i]!=inf)
g<<d[i]<<" ";
else
g<<"0 ";
}
int main()
{
read();
solve();
show();
}