Pagini recente » Cod sursa (job #1122030) | Istoria paginii runda/miada2012 | Cod sursa (job #2307764) | Cod sursa (job #623869) | Cod sursa (job #1114238)
#include <fstream>
#define nmax 50002
#define mmax 250002
#define inf 2000000000
using namespace std;
long long muchiex[mmax],muchiey[mmax],muchiecost[mmax];
long long d[nmax];
long long i,x,y,c,m,n,OK;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int main()
{ f>>n>>m;
for (i=1 ;i<=m ; i++)
{f>>x>>y>>c;
muchiex[i]=x;
muchiey[i]=y;
muchiecost[i]=c;
if (x==1) d[y]=c;
}
for (i=2 ; i<=n ; i++)
if (d[i]==0) d[i]=inf;
while (OK==0)
{ OK=1;
for (i=1 ; i<=m ; i++)
if (d[muchiey[i]]>d[muchiex[i]]+muchiecost[i] )
{d[muchiey[i]]=d[muchiex[i]]+muchiecost[i];
OK=0;
}
}
for (i=2;i<=n;i++)
{if (d[i]==inf) g<<'0 ' ;
g<<d[i]<<' '; }
f.close();
g.close();
return 0 ;
}