Pagini recente » Cod sursa (job #1773226) | Cod sursa (job #402212) | Cod sursa (job #451506) | Cod sursa (job #1297316) | Cod sursa (job #873350)
Cod sursa(job #873350)
#include <iostream>
#include<fstream>
using namespace std;
ifstream f("apm.in");
ofstream g("apm.out");
int a[100][100],n,m,s[100],t[100],ct=0,nr=0;
void citire(){
int x,y,c;
f>>n>>m;
for(int i=1;i<=m;i++){
f>>x>>y>>c;
a[x][y]=c;
a[y][x]=c;
}
}
void prim(){
int v,v1,v2;
s[1]=1;
for(int k=1;k<n;k++){
int minn=1001;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if(a[i][j]<minn && s[i]==1 && s[j]==0 && a[i][j]!=0)
{
minn=a[i][j];
v1=i;
v2=j;
}
s[v2]=1;
t[v2]=v1;
}
}
int main()
{
citire();
prim();
for(int i=1;i<=n;i++)
if(t[i]!=0){
ct+=a[t[i]][i];
nr++;
}
g<<ct<<endl<<nr<<endl;
for(int i=1;i<=n;i++)
if(t[i]!=0)
g<<t[i]<<" "<<i<<endl;
return 0;
}