#include <iostream>
#include <string.h>
#include <stdio.h>
using namespace std;
int map[101][101];
int mark[101][101];
int visit[101];
int n,m=0,flag=0,k=0;
void dfs(int pos)
{
k++;
visit[pos]=1;
if(k==n)
{
m+=map[pos][1];
}
for(int i = 1; i <= n; i++)
{
if(mark[pos][i]==1&&!visit[i])
{
m+=map[pos][i];
if(k==n) flag=1;
if(flag==1) return ;
dfs(i);
}
}
}
int main()
{
int sum;
while (~scanf("%d",&n))
{
sum = 0;
memset(map,0,sizeof(map));
memset(mark,0,sizeof mark);
memset(visit,0,sizeof visit);
for(int j = 0 ; j < n; j++)
{
int t1,t2,t3;
scanf("%d%d%d",&t1,&t2,&t3);
map[t2][t1] = t3;
mark[t1][t2]=1;
mark[t2][t1]=1;
sum += t3;
}
dfs(1);
if(m>sum-m) m = sum-m;
printf("%d\n",m);
}
}
CodeForces 24A-Ring road
最新推荐文章于 2020-11-03 21:37:15 发布