Cây Fibonacci
Đề bài
Mô tả
Gọi là số Fibonacci thứ , định nghĩa như sau:
- ;
- với mọi số nguyên .
Cho một cây gồm đỉnh. Cây này được gọi là cây Fibonacci nếu số đỉnh của nó bằng với một chỉ số nào đó, đồng thời thoả mãn ít nhất một trong hai điều kiện sau:
- Cây chỉ gồm đúng đỉnh;
- Có thể xoá một cạnh nào đó của cây để tách nó thành hai cây Fibonacci.
Hãy xác định cây đã cho có phải là cây Fibonacci hay không.
Dữ liệu vào
- Dòng đầu chứa số nguyên là số đỉnh của cây.
- 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ới đỉnh .
Dữ liệu đảm bảo các cạnh đã cho tạo thành một cây.
Dữ liệu ra
In ra YES nếu cây đã cho là cây Fibonacci, ngược lại in ra NO.
Ràng buộc
- ,
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 1 2 2 3 |
YES | . Xoá cạnh tách cây thành hai phần có và đỉnh. Phần đỉnh lại tách được thành hai phần đỉnh, nên cả hai đều là cây Fibonacci. |
| 5 1 2 1 3 1 4 1 5 |
NO | , nhưng đây là hình sao: xoá cạnh nào cũng tách thành và đỉnh, mà không phải số Fibonacci. |
| 5 1 3 1 2 4 5 3 4 |
YES | Cây là đường đi . Xoá cạnh được hai phần và đỉnh, cả hai đều là cây Fibonacci. |
Bình luận