import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Pattern;
public class fr {
private static class Hrana {
public Hrana(int kam, int cena) {
this.kam = kam;
this.cena = cena;
}
int kam;
int cena;
@Override
return "H[" + kam + ", " + cena + "]";
}
}
private static class Cesta {
Uzol u;
int cena;
}
private static class Uzol {
public int id;
public int idOtec;
public int cenaknam;
public Uzol(int c) {
id = c;
deti = new ArrayList<Cesta>();
}
List<Cesta> deti;
public void vytvor() {
}
public void vytvor
(Map
<Integer, List
<Hrana
>> map,
int cenaKNAM
) { List<Hrana> list = map.get(id);
cenaknam=cenaKNAM;
for (Hrana hrana : list) {
if (hrana.kam != idOtec) {
Uzol syn = new Uzol(hrana.kam);
syn.idOtec = id;
Cesta cesta = new Cesta();
cesta.cena = hrana.cena;
cesta.u = syn;
deti.add(cesta);
syn.vytvor(map, hrana.cena);
}
}
}
void vypis(int i) {
for (int j = 0; j < i; j++) {
medzery += " ";
}
System.
out.
println(medzery
+ id
); for (Cesta c : deti) {
c.u.vypis(i + 1);
}
}
int vypocet() {
if(deti.size()==0){
return cenaknam;
}
int cenadeti=0;
for (Cesta c : deti) {
cenadeti+=c.u.vypocet();
}
// System.out.println("uzol:" + id+" cenaknam"+cenaknam+ " cenaDeti "+ cenadeti);
return Math.
min(cenaknam, cenadeti
); }
}
Pattern p = Pattern.compile("\\s");
while ((line = buf.readLine()) != null) {
String[] vstup
= p.
split(line
); int n
= Integer.
parseInt(vstup
[0]); int c
= Integer.
parseInt(vstup
[1]); for (int i = 1; i < n; i++) {
line = buf.readLine();
vstup = p.split(line);
int odkial
= Integer.
parseInt(vstup
[0]); int kam
= Integer.
parseInt(vstup
[1]); int cena
= Integer.
parseInt(vstup
[2]); Hrana hrana = new Hrana(kam, cena);
List<Hrana> list = map.get(odkial);
if (list != null) {
list.add(hrana);
} else {
List<Hrana> novyList = new ArrayList<Hrana>();
novyList.add(hrana);
map.put(odkial, novyList);
}
Hrana hranaNaopak = new Hrana(odkial, cena);
List<Hrana> list2 = map.get(kam);
if (list2 != null) {
list2.add(hranaNaopak);
} else {
List<Hrana> novyList = new ArrayList<Hrana>();
novyList.add(hranaNaopak);
map.put(kam, novyList);
}
}
// System.out.println(map.get(1));
Uzol koren = new Uzol(c);
koren.
vytvor(map,
Integer.
MAX_VALUE);
System.
out.
println(koren.
vypocet()); }
}
}