Pagini recente » Cod sursa (job #2314687) | Cod sursa (job #1109154) | Cod sursa (job #1842639) | Cod sursa (job #1502157) | Cod sursa (job #1707298)
#include<iostream>
#include<fstream>
using namespace std;
typedef struct{int u,v,c;} muchie;
int l[30],n,m;
muchie e[30];
void citire()
{int i;
{ifstream f("apm.in");
ofstream g("apm.out");
f>>n;
f>>m;
for(i=1;i<=m;i++)
f>>e[i].u>>e[i].v>>e[i].c;
f.close();}
int main()
{int k=1,ultim,i,u,v,ct,ind,ms,lu,lv;
muchie aux;
citire();
for(i=1;i<=n;i++)
l[i]=i;
ultim=m;
while(k!=0)
{
k=0;
for(i=1;i<=ultim-1;i++)
{if(e[i].c>e[i+1].c)
{aux=e[i];
e[i]=e[i+1];
e[i+1]=aux;
k=1;
}}
ultim--;}
for(i=1;i<=m;i++)
cout<<e[i].u<<" "<<e[i].v<<" "<<e[i].c<<endl;
cout<<"apm contine muchiile:"<<endl;
ct=0;ms=0;ind=0;
while(ms<n-1)
{
do
ind++;
while(l[e[ind].u]==l[e[ind].v]);
u=e[ind].u;
lu=l[u];
v=e[ind].v;
lv=l[v];
g<<u<<v;
ct=ct+e[ind].c;
ms++;
for(i=1;i<=n;i++)
if(l[i]==lu)
l[i]=lv;}
g<<ct;}
f.close();
g.close();
return 0;
}