Phát hiện điểm nghẽn
Xem dưới dạng PDF
Gửi bài giải
Điểm:
15
Giới hạn thời gian:
1.5s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Tác giả:
Kiểu bài tập
Trong kiểm thử phần mềm tự động, Bình nhận được một đồ thị luồng điều hướng gồm \(N\) đỉnh và \(M\) cạnh có hướng.
Hãy phát hiện xem luồng điều hướng này có chứa chu trình có hướng (phụ thuộc vòng) nào hay không. Nếu có chu trình, in ra \(CYCLE\). Nếu không có chu trình (đồ thị là một DAG), in ra \(DAG\).
Định dạng đầu vào
- Dòng đầu chứa hai số nguyên \(N\) và \(M\) (\(1 \le N \le 10^5\), \(0 \le M \le 2 \cdot 10^5\)).
- \(M\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(u, v\) (\(1 \le u, v \le N\)) mô tả cung liên kết từ \(u\) sang \(v\).
Định dạng đầu ra
- Một dòng chứa duy nhất \(CYCLE\) hoặc \(DAG\).
Ràng buộc
| Subtask | Tỉ lệ điểm | Ràng buộc |
|---|---|---|
| 1 | 40% | \(N \le 1000\), \(M \le 2000\) |
| 2 | 60% | Không có ràng buộc gì thêm |
Ví dụ
Input:
3 3
1 2
2 3
3 1
Output:
CYCLE
Nhận xét