题目:How Long Does It Take
Given the relations of all the activities of a project, you are supposed to find the earliest completion time of the project.
Input Specification:Each input file contains one test case. Each case starts with a line containing two positive integers N (≤100), the number of activity check points (hence it is assumed that the check points are numbered from 0 to N−1), and M, the number of activities. Then M lines follow, each gives the description of an activity. For the i-th activity, three non-negative numbers are given: S[i], E[i], and L[i], where S[i] is the index of the starting check point, E[i] of the ending check point, and L[i] the lasting time of the activity. The numbers in a line are separated by a space.
Output Specification:
For each test case, if the scheduling is possible, print in a line its earliest completion time; or simply output "Impossible".
9 12 0 1 6 0 2 4 0 3 5 1 4 1 2 4 1 3 5 2 5 4 0 4 6 9 4 7 7 5 7 4 6 8 2 7 8 4
Sample Output 1:
18
Sample Input 2:
4 5
0 1 1
0 2 2
2 1 3
1 3 4
3 2 5
Sample Output 2:
Impossible
4 5 0 1 1 0 2 2 2 1 3 1 3 4 3 2 5
Sample Output 2:
Impossible
题目就是陈越姥姥所讲的那个题(8.2讲),那题意就不用多说了,直接上码。
#include#include #include #define max 105 #define INF 10000 int t[max][max];//邻接矩阵 typedef struct node edge;//记录指向该点的边有多少 struct node{ int ne; }; edge t2[max]; int n,w;//点的个数和边的个数 void play()//初始化 { for(int i=0;i sum[i]){ sum[i]=t[v][i]+sum[v]; } } } } if(cnt)//如果成环 { printf("Impossible"); return ; } else { for(int i=0;i 第一次写csdn嘛,代码可能写的不好,兄弟们见谅了。欢迎评论区大家一起讨论。



