Pagini recente » Cod sursa (job #2560399) | Cod sursa (job #669173) | Cod sursa (job #1106801) | Cod sursa (job #2409689) | Cod sursa (job #2328017)
#include <fstream>
using namespace std;
ifstream in("apm.in");
ofstream out("apm.out");
int a[601][601],n,isol,vsol=1000000,val,viz[601];
void dfs(int st)
{
viz[st]=1;
for(int j=1;j<=n;j++)
if(viz[j]==0 and a[st][j]!=1001)
{
val+=a[st][j];
dfs(j);
}
}
parc_afis(int st)
{
viz[st]=1;
for(int j=1;j<=n;j++)
if(viz[j]==0 and a[st][j]!=1001)
{
out<<st<<" "<<j<<'\n';
parc_afis(j);
}
}
int main()
{
int m,i,j,k,c;
in>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
a[i][j]=1001;
for(k=1;k<=m;k++)
{
in>>i>>j>>c;
a[i][j]=c;
a[j][i]=c;
}
for(c=1;c<=n;c++)
{
val=0;
dfs(c);
if(val<vsol)
{
vsol=val;
isol=c;
}
for(i=0;i<=n;i++)
viz[i]=0;
}
out<<vsol<<'\n'<<n-1<<'\n';
parc_afis(isol);
return 0;
}