Poj 3275 Ranking the Cows

求点与点之间的连通性。

就是拓扑排序之后点与点之间是否相连。拓扑排序后不会出现加了一条边后导致另外两个未知点大小关系确定的情况。可以分类讨论证明。

我求的是孩子个数,一个点所有的孩子都是小于这个点的。所以结果就是总对数减去孩子数。

这个题目卡临接矩阵。。。有点蛋疼

import java.util.*;
import java.io.*;
import java.math.BigInteger;

class edge{
	int from, to, next;
	public edge(int a, int b, int c){
		from=a;
		to = b;
		next = c;
	}
}

class problem11{
	int n,m;
	edge edges[];
	int header[];
	int sons[];
	boolean vis[];
    void solver() throws IOException{
        BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(reader.readLine());
        n = Integer.valueOf(st.nextToken());
        m = Integer.valueOf(st.nextToken());
        sons = new int[n];
        vis = new boolean[n];
        header = new int[n];
        Arrays.fill(header, -1);
        edges = new edge[m];
        for(int i=0;i


你可能感兴趣的:(POJ,图论)