[DHBB25 - DX05 - 11] Bài 2: GRAPH

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Output Only, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho đồ thị vô hướng có ~n~ đỉnh (các đỉnh đánh số từ ~1~ đến ~n~) và ~m~ cạnh.

Yêu cầu: Hãy đếm số cặp đỉnh ~u, v~ không sắp thứ tự (tức là cặp ~(u, v)~ và ~(v, u)~ là một) sao cho luôn tồn tại đường đi giữa hai đỉnh ~u, v~ khi loại bỏ bất kỳ một cạnh nào trên đồ thị.

Input

  • Dòng đầu tiên chứa hai số nguyên dương ~n, m~.
  • ~m~ dòng tiếp theo, mỗi dòng chứa hai số ~u, v~ (~1 \le u, v \le n, u \ne v~) mô tả có cạnh nối đỉnh ~u~ và đỉnh ~v~. Dữ liệu đảm bảo giữa hai đỉnh bất kỳ có nhiều nhất một cạnh nối.

Các số trên cùng một dòng được ghi cách nhau bởi ít nhất một dấu cách.

Output

  • Một số duy nhất là số cặp đỉnh ~u, v~ thỏa mãn yêu cầu đề bài.

Sample Input 1

5 5
1 2
2 3
3 1
2 4
2 5

Sample Output 1

3

Giải thích

Có ~3~ cặp đỉnh thỏa mãn yêu cầu đề bài là khi loại bỏ một cạnh bất kỳ thì vẫn tồn tại đường đi giữa hai đỉnh là: ~(1, 2)~, ~(2, 3)~, ~(3, 1)~.

Subtasks

Subtask Điểm Ràng buộc
1 ~30~ ~n \le 20, m \le 100~.
2 ~20~ ~n \le 100, m \le 1000~.
3 ~20~ ~n \le 1000, m \le 10000~.
4 ~30~ ~n \le 100000, m \le 200000~.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.