Một cây là một kết nối, đồ thị vô hướng không có chu kỳ. Nhiệm vụ của bạn là đếm xem có bao nhiêu cây riêng biệt với một số đỉnh nhất định.
Hai cây được coi là khác biệt nếu chúng không phải là đẳng cấu . Hai đồ thị là đẳng cấu nếu các đỉnh tương ứng của chúng có thể được ghép nối theo cách sao cho có một cạnh giữa hai đỉnh trong một đồ thị khi và chỉ khi có một cạnh giữa các đỉnh được ghép với các đỉnh đó trong đồ thị khác. Để biết mô tả đầy đủ hơn, xem liên kết ở trên.
Để xem tất cả các cây khác nhau có kích thước từ 1 đến 6 trông như thế nào, hãy xem tại đây .
Sê-ri bạn đang cố gắng xuất là A000055 tại OEIS.
Hạn chế : Giải pháp của bạn phải mất trong vài phút hoặc ít hơn để chạy trên đầu vào 6
. Điều này không nhằm loại bỏ các thuật toán thời gian theo cấp số nhân, nhưng nó nhằm loại bỏ các thuật toán thời gian theo cấp số nhân, chẳng hạn như vũ phu cưỡng bức trên tất cả các bộ cạnh.
Đầu vào: Bất kỳ số nguyên không âm.
Đầu vào có thể bằng bất kỳ phương tiện tiêu chuẩn nào, bao gồm STDIN, tham số dòng lệnh, đầu vào chức năng, v.v.
Đầu ra: Số lượng cây riêng biệt có nhiều đỉnh như đầu vào.
Đầu ra có thể bằng bất kỳ phương tiện tiêu chuẩn nào, bao gồm STDOUT, trả về hàm, v.v.
Ví dụ: 0, 1, 2, 3, 4, 5, 6, 7
nên trả lại 1, 1, 1, 1, 2, 3, 6, 11
.
Ghi điểm: Mã golf, theo byte. Có thể mã ngắn nhất giành chiến thắng!
Sơ hở tiêu chuẩn bị cấm.