Cod sursa(job #380077)

Utilizator bora_marianBora marian bora_marian Data 4 ianuarie 2010 19:00:02
Problema Arbore partial de cost minim Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include<fstream>
using namespace std;
struct nod{
	int vf,cost;
	nod *next;}

nod *G[20002];
int n,t[20002],v[200002],d[200002]
int main()
{
	ifstream fin("apm.in");
	fin>>n>>m;
	for(i=1;i<=n;i++)
	 G[i]=NULL;
	for(;m;--m)
	  fin>>i>>j>>c;
	  addmuchie(i,j,c);
	  addmuchie(i,j,c);}
for(i=1;i<=n;++i)
  t[i]=-1,v[i]=0,d[i]=1<< 30;
t[1]=0;
v[1]=1;
d[1]=0;
for(nod *p=G[1];p;p->next)
  d[p->vf]=p->cost,t[p->vf]=1;
int s=0;
for(int k=1;k<n;++k)
 {
	int imin,jmin,pmin=0;
	for(i=1;i<=n;i++)
	 if(d[i]<d[pmin] && v[i]==0)
          pmin=i;
	v[pmin]=1;
	s+=d[pmin];
	for(nod *p=G[i];p;p=p->next)
	  if(d[p->vf]>p->cost && v[i]==0)
	    d[p->vf]=p_>cost,t[p->vf]=min;	  	 
	 ofstream fout("apm.out");
	 for(i=1;i<=n;i++)
	  if[t[i]!=0]
	    fout<<i<<" "<<t[i];
return 0;
}