2143C - Max Tree It is useful, and actually very easy to implement.
I tried to solve it with DFS, but not very obviously,that's not gonna work.
Spoiler
| # | User | Rating |
|---|---|---|
| 1 | Benq | 3676 |
| 2 | jiangly | 3670 |
| 3 | Kevin114514 | 3657 |
| 4 | maroonrk | 3355 |
| 5 | Um_nik | 3353 |
| 6 | squareOf105 | 3346 |
| 7 | tourist | 3343 |
| 8 | strapple | 3324 |
| 9 | heuristica | 3322 |
| 10 | jiangbowen | 3291 |
| # | User | Contrib. |
|---|---|---|
| 1 | Qingyu | 158 |
| 2 | nik_exists | 150 |
| 2 | maspy | 150 |
| 4 | AmShZ | 143 |
| 5 | Um_nik | 141 |
| 6 | Errichto | 139 |
| 7 | adamant | 137 |
| 8 | BledDest | 133 |
| 8 | maroonrk | 133 |
| 10 | qwexd | 130 |
2143C - Max Tree It is useful, and actually very easy to implement.
I tried to solve it with DFS, but not very obviously,that's not gonna work.
queue = deque()
for i in range(V):
if in_edge[i] == 0:
queue.append(i)
while queue:
process = queue.popleft()
results[process] = cur
cur -= 1
for v in edges[process]:
in_edge[v] -= 1
if in_edge[v] == 0:
queue.append(v)
| Name |
|---|



Here is the USACO guide page for topological sort
Please just look up what you are trying to learn instead of posting blogs like this