Hành trình kỳ lạ
Đề bài
Mô tả
Cho một đồ thị vô hướng gồm đỉnh và cạnh. Đồ thị có thể chứa khuyên (cạnh nối một đỉnh với chính nó), nhưng không có hai cạnh nào nối cùng một cặp đỉnh. Nói riêng, mỗi đỉnh có nhiều nhất một khuyên.
Một hành trình là một dãy các cạnh đi liên tiếp nhau, có thể bắt đầu và kết thúc tại đỉnh bất kỳ. Hành trình được gọi là tốt nếu nó đi qua cạnh đúng hai lần và cạnh còn lại đúng một lần. Như vậy mọi cạnh của đồ thị đều phải được đi qua.
Hai hành trình tốt được coi là khác nhau nếu tập hai cạnh mà chúng chỉ đi qua một lần là khác nhau.
Hãy đếm số hành trình tốt.
Dữ liệu vào
- Dòng đầu chứa hai số nguyên và : số đỉnh và số cạnh.
- dòng tiếp theo, mỗi dòng chứa hai số nguyên và , mô tả một cạnh nối đỉnh và đỉnh .
Dữ liệu ra
Một số nguyên duy nhất là số hành trình tốt.
Ràng buộc
- Không có cặp đỉnh nào được nối bởi hai cạnh khác nhau.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 5 4 1 2 1 3 1 4 1 5 |
6 | Đồ thị hình sao tâm là đỉnh . Hai cạnh chỉ đi qua một lần bắt buộc phải có chung đỉnh , nên có cách chọn. Chẳng hạn với cặp ta có hành trình . |
| 2 2 1 1 1 2 |
1 | Chỉ có một cách chọn hai cạnh, và hành trình đi qua cả hai cạnh đúng một lần (ở đây nên không cạnh nào bị đi hai lần). |
| 5 3 1 2 2 3 4 5 |
0 | Đồ thị không liên thông: cạnh nằm tách rời khỏi hai cạnh còn lại, nên không tồn tại hành trình đi qua được mọi cạnh. |
Bình luận