[Buổi 25][Đồ thị & DFS][HW] Bài 3: Chu trình kiểm tra đường ống


LÀM BÀI

Points: 100
Time limit: 2.0s
Memory limit: 256M

Author:
Problem types

Chu trình kiểm tra đường ống

Bối cảnh và bài toán

Mạng đường ống được mô hình hóa bằng đồ thị vô hướng. Một chu trình nghĩa là tồn tại một tuyến khép kín đi qua ít nhất ba nút khác nhau rồi quay về điểm xuất phát.

Yêu cầu

Xác định mạng có chứa ít nhất một chu trình hay không.

Input

Dòng đầu n, m; tiếp theo m cạnh u, v.

Output

In "YES" nếu có chu trình, ngược lại in "NO".

Ràng buộc

  • 1 <= n <= 2*10^5
  • 0 <= m <= 2*10^5
  • Đồ thị đơn: không có cạnh khuyên (u != v) và không có hai cạnh trùng nhau.

Chấm điểm

Subtask Điểm Điều kiện Official tests
S1 40 n <= 200, m <= 500 (nếu có m) 01–08
S2 60 Không có ràng buộc bổ sung 09–20

Ví dụ 1

Input

4 4
1 2
2 3
3 1
3 4

Output

YES

Giải thích. Kết quả phụ thuộc việc DFS gặp một cạnh nối tới đỉnh đã thăm khác cha hiện tại hay không.

Ví dụ 2

Input

4 3
1 2
2 3
3 4

Output

NO

Giải thích. Kết quả phụ thuộc việc DFS gặp một cạnh nối tới đỉnh đã thăm khác cha hiện tại hay không.

Thông tin bài tập

Thuộc tính Giá trị
Mã bài DSA-M08-B25-HW03
Buổi B25
Loại bài HOMEWORK
Mức độ khó Trung bình (Medium)
Thời gian làm bài khuyến nghị 35 phút
Time limit 2 giây
Memory limit 256 MB
Tổng điểm 100
Chuẩn ngôn ngữ tham chiếu C++17

Nguồn: Phỏng theo / Adapted from CSES Round Trip. Bản FULLHOUSE DEV đã biên tập lại bối cảnh/format theo phạm vi khóa học.


Comments

There are no comments at the moment.

Zalo