解法:判断一下每个节点的度数,然后就是简单的排列组合了。
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[] deg = new int[n + 1];
Arrays.fill(deg, 0);
for (int i = 0; i < n - 1; ++i) {
int u = scanner.nextInt();
int v = scanner.nextInt();
deg[u]++;
deg[v]++;
}
long total = 0;
for (int w = 1; w <= n; ++w) {
long d = deg[w];
total += d * (d - 1) / 2;
}
System.out.println(total);
}
}