Fr.java
import java.util.ArrayList;
import java.util.Scanner;
public class Fr {
static Node [] strom;
public static void main
(String[] args
) { Scanner sc
= new Scanner
(System.
in);
while (sc.hasNextInt()) {
int n = sc.nextInt();
int c = sc.nextInt() - 1;
sc.nextLine();
strom = new Node[n];
for(int i = 0; i < strom.length; i++){
strom[i] = new Node(i);
}
for (int i = 0; i < strom.length - 1; i++) {
String[] cesta
= vstup.
split(" "); int od
= Integer.
parseInt(cesta
[0]); int cil
= Integer.
parseInt(cesta
[1]); int vaha
= Integer.
parseInt(cesta
[2]);
if(cil - 1 == c){
int temp = od;
od = cil;
cil = temp;
}
strom[od - 1].potomci.add(new Hrana(vaha, strom[cil - 1]));
}
int celkovaVaha
= projdiNasl
(strom
[c
],
Integer.
MAX_VALUE);
System.
out.
println(celkovaVaha
);
}
}
public static int projdiNasl(Node od, int vaha){
int celkovaVaha = 0;
for (int i = 0; i < od.potomci.size(); i++) {
celkovaVaha
+= Math.
min(od.
potomci.
get(i
).
vaha, projdiNasl
(od.
potomci.
get(i
).
cil, od.
potomci.
get(i
).
vaha)); }
if(od.potomci.size()>0)
return celkovaVaha;
else
}
}
class Node{
ArrayList<Hrana> potomci;
int cislo;
public Node(int cislo){
this.cislo = cislo;
potomci = new ArrayList<Hrana>();
}
}
class Hrana{
int vaha;
Node cil;
public Hrana(int vaha, Node cil){
this.vaha = vaha;
this.cil = cil;
}
}