Cod sursa(job #1418690)

Utilizator cristiana24Cristiana cristiana24 Data 13 aprilie 2015 18:43:01
Problema Arbore partial de cost minim Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,S[50],i,j,k,C,lin,col;
float Min,c[50][50];
const float PInfinit = 1.e10;
void Citesc()
{
    fstream f("graf.txt",ios::in);
    f>>n;
    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    if(i==j)
    c[i][j]=0;
    else
    c[i][j]=c[j][i]=PInfinit;
    while(f>>i>>j>>C)
    c[i][j]=c[j][i]=C;
    f.close();
}
main()
{
    Citesc();
    for(i=2;i<=n;i++)
    S[i]=1;
    for(k=1;k<=n-1;k++)
    {
        Min=PInfinit;
        for(i=1;i<=n;i++)
        if(S[i])
        if(Min>c[S[i]][i])
        {
            Min=c[S[i]][i];
            j=i;
        }
      cout<<S[j]<<" "<<j<<" "<<c[j][S[j]]<<endl;
      for(i=1;i<=n;i++)
      if(S[i] && c[i][S[i]]>c[i][j])
      S[i]=j;
      S[j]=0;
    }
}