进阶实验6-3.5 关键活动 (30分)-拓扑排序
解题思路: 1、求拓扑排序判断任务调度是否可行 2、存在拓扑排序,分别求各交接点的最早完成时间和最迟完成时间 3、找出最早完成时间和最迟完成时间一样的交接点 4、输出关键活动 #include <stdio.h> #include <string.h> #define Max 100+1 #define INF 0x3f3f3f3f int G[Max][Max]; int indegree[Max];//记录入度 int outdegree[Max];//记录出度 int ans=0;//完成项目的最短时间 int early[Max];//记录最早完成时间 int late[Max];//记录最迟完成时间 int cnt=0;//记录入度为零的结点个数 int Nv,Ne; void Init() {//图初始化 memset(G,-1,sizeof(G)); memset(early,0,sizeof(early)); memset(late,INF,sizeof(late)); memset(indegree,0,sizeof(indegree)); memset(outdegree,0,sizeof(outdegree)); scanf("%d %d",&Nv,&Ne); int v1,v2,x; int i; for(i=0; i<Ne; i++) { scanf("