Cod sursa(job #1973612)

Utilizator cris90robert@yahoo.comseretan cristian [email protected] Data 25 aprilie 2017 15:56:38
Problema Algoritmul lui Dijkstra Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<iostream>
#include<fstream>
using namespace std;
struct element
{
	int info,cost;
};
int main()
{
	int i,m,n,p,q,c,viz[50000]={},l[50000]={};
	element a[400][400]={};
	fstream f("dijkstra.in",ios::in);
	f>>n>>m;
	for(i=1;i<=m;i++)
	{
		f>>p>>q>>c;
		a[p][q].info=1;
		a[p][q].cost=c;
	}
	f.close();
	for(i=1;i<=n;i++)
	{
		viz[i]=1;
		for(p=1;p<=n;p++)
		{
			if((a[i][p].info==1)&&(viz[p]==0))
			{
				q=l[i]+a[i][p].cost;
				if(l[p]==0)
				{
					l[p]=q;
				}
				else
				{
					if(q<l[p])
					{
						l[p]=q;
					}
				}
			}
		}
	}
	fstream g("dijkstra.out",ios::out);
	for(p=2;p<=n;p++)
	{
		g<<l[p]<<" ";
	}
	g.close();
		
}