@[BCDL](/user/275807) 不发代码我怎么帮你?
by OldDriverTree @ 2023-11-18 10:40:43
#include<iostream>```
#include<iostream>
#include<vector>
using namespace std;
int n;
struct node {
int v;
node* next;
};
struct vertex {
int v;
int time;
node* parents;
};
int max1(vector<vertex>edge, vector<int>ve, int v) {//完成事件v所需要的最早时间
int length = 0;
node* p = edge[v].parents;
//if (p == NULL)length = edge[v].time;
while (p != NULL) {
if (length < edge[p->v].time + ve[p->v])length = edge[p->v].time + ve[p->v];
p = p->next;
}
return length;
}
int main() {
cin >> n;
vector<vertex>a(n + 1);
vector<int>ve(n + 1);
int i;
int v, v1;
for (i = 1; i <= n; i++) {
cin >> v;
cin >>a[i].time;
a[i].v = v;
a[v].parents = NULL;
while (cin >> v1) {
if (v1 == 0)break;
else {
node* p;
p = new node;
p->v = v1;
p->next = a[v].parents;
a[v].parents = p;
}
}
}
ve[0] = ve[1] = 0;
for (i = 2; i <= n; i++) {
ve[i] = max1(a, ve, i);
}
cout << ve[n] + a[n].time;
for (i = 1; i <= n; i++) {
node* p,*q;
p = new node;
p = a[i].parents;
q = NULL;
while (p != NULL) {
q = p;
p = p->next;
delete q;
}
}
a.clear();
ve.clear();
}
```
#include<vector>
using namespace std;
int n;
struct node {
int v;
node* next;
};
struct vertex {
int v;
int time;
node* parents;
};
int max1(vector<vertex>edge, vector<int>ve, int v) {//完成事件v所需要的最早时间
int length = 0;
node* p = edge[v].parents;
//if (p == NULL)length = edge[v].time;
while (p != NULL) {
if (length < edge[p->v].time + ve[p->v])length = edge[p->v].time + ve[p->v];
p = p->next;
}
return length;
}
int main() {
cin >> n;
vector<vertex>a(n + 1);
vector<int>ve(n + 1);
int i;
int v, v1;
for (i = 1; i <= n; i++) {
cin >> v;
cin >>a[i].time;
a[i].v = v;
a[v].parents = NULL;
while (cin >> v1) {
if (v1 == 0)break;
else {
node* p;
p = new node;
p->v = v1;
p->next = a[v].parents;
a[v].parents = p;
}
}
}
ve[0] = ve[1] = 0;
for (i = 2; i <= n; i++) {
ve[i] = max1(a, ve, i);
}
cout << ve[n] + a[n].time;
for (i = 1; i <= n; i++) {
node* p,*q;
p = new node;
p = a[i].parents;
q = NULL;
while (p != NULL) {
q = p;
p = p->next;
delete q;
}
}
a.clear();
ve.clear();
}
by BCDL @ 2023-11-22 14:58:49
@[OldDriverTree](/user/681036) 开始没研究清楚怎么发代码……?
by BCDL @ 2023-11-22 15:00:46