hdu1285 拓扑排序 java实现


/*
   解题思路: 这是一个典型的拓扑排序,这里我们需要从输入的时候获取没个点的入度,若入度为零的,
                我们可以从小到大依次输出来。每当输出一个点时,需要把它所广联的边全部消除
              (即把该点所相连的点的入度减一),重复上面操作。  
  */
import java.util.Scanner;

public class Main {
	//定义全局变量,方面后面使用
	static int n,m;  //比赛队伍数和输入比赛结果次数
	static int[] degree,sorted; //每个点的入度数和是否被搜索过
	static int[][] arc;   //弧  即点与点之间的联系
	static Scanner sc=new Scanner(System.in);
	public static void main(String[] args) {
		while(sc.hasNext()){
			n=sc.nextInt(); //输入比赛队伍数
			m=sc.nextInt(); //输入比赛过过次数
			init();   //初始化拓扑图
			topoSort(); //拓扑排序
		}
	}
	//拓扑排序
	private static void topoSort() {
		int s=0;//用来记录已经排好序的点的个数
		while(s
hdu1285 拓扑排序 java实现_第1张图片

你可能感兴趣的:(hncu,水题,hdu1285,java,拓扑排序)