Pagini recente » Cod sursa (job #1366970) | Cod sursa (job #1793525) | Cod sursa (job #1229881) | Cod sursa (job #1530469) | Cod sursa (job #2170261)
#include <fstream>
#include <set>
#include <vector>
using namespace std;
ifstream fin("dijkstra.in");
ofstream fout("dijkstra.out");
vector<pair <int, int> >nod[50005];
const int INF=999999;
int n,m,a,b,c,sursa=1,drum[50005],gasit[50005];
void Create_graph(int s)
{
for(int i=1;i<=n;i++)
{
drum[i]=INF;
}
drum[sursa]=0;
}
int main()
{
fin>>n>>m;
for(int i=1;i<=m;i++)
{
fin>>a>>b>>c;
nod[a].push_back(make_pair(b,c));
}
Create_graph(sursa);
for(int i=1;i<=m;i++)
{
for(vector <pair <int, int> > :: iterator it=nod[i].begin();it!=nod[i].end();it++)
{
int poz=(*it).first;
int cost=(*it).second;
if(!gasit[poz])
{
if(cost+drum[i]<drum[poz])
{
drum[poz]=cost+drum[i];
}
}
}
gasit[i]=1;
}
for(int i=2;i<=n;i++)
fout<<drum[i]<<' ';
return 0;
}