Một tập hợp các n
số dương có 2^n
tập con. Chúng tôi sẽ gọi một tập hợp "tốt đẹp" nếu không có tập hợp con nào có cùng một tổng. {2, 4, 5, 8}
là một trong những bộ đẹp như vậy. Vì không có tập con nào có cùng một tổng, nên chúng ta có thể sắp xếp các tập con theo tổng:
[{}, {2}, {4}, {5}, {2, 4}, {2, 5}, {8}, {4, 5}, {2, 8}, {2, 4, 5}, {4, 8}, {5, 8}, {2, 4, 8}, {2, 5, 8}, {4, 5, 8}, {2, 4, 5, 8}]
Nếu chúng ta gắn nhãn các số [2, 4, 5, 8]
với các ký hiệu [a, b, c, d]
theo thứ tự tăng dần, chúng ta sẽ nhận được thứ tự trừu tượng sau:
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {d}, {b, c}, {a, d}, {a, b, c}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}]
Một tập hợp tốt đẹp khác của các số dương có thể có cùng thứ tự trừu tượng hoặc một số khác. Ví dụ, [3, 4, 8, 10]
là một bộ đẹp với một thứ tự trừu tượng khác nhau:
[{}, {a}, {b}, {a, b}, {c}, {d}, {a, c}, {b, c}, {a, d}, {b, d}, {a, b, c}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}]
Trong thử thách này, bạn phải đếm số thứ tự trừu tượng riêng biệt của các bộ số n
dương đẹp . Chuỗi này là OEIS A009997 và các giá trị đã biết, bắt đầu từ n=1
, là:
1, 1, 2, 14, 516, 124187, 214580603
Ví dụ, n=3
sau đây là hai thứ tự trừu tượng có thể có:
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}]
[{}, {a}, {b}, {a, b}, {c}, {a, c}, {b, c}, {a, b, c}]
Đối với n=4
, sau đây là 14 thứ tự trừu tượng có thể, cộng với một ví dụ đẹp được đặt với thứ tự đó:
[{}, {a}, {b}, {a, b}, {c}, {a, c}, {b, c}, {a, b, c}, {d}, {a, d}, {b, d}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 4, 2, 1]
[{}, {a}, {b}, {a, b}, {c}, {a, c}, {b, c}, {d}, {a, b, c}, {a, d}, {b, d}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 6, 3, 2]
[{}, {a}, {b}, {a, b}, {c}, {a, c}, {d}, {b, c}, {a, d}, {a, b, c}, {b, d}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 7, 4, 2]
[{}, {a}, {b}, {a, b}, {c}, {a, c}, {d}, {a, d}, {b, c}, {a, b, c}, {b, d}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 6, 4, 1]
[{}, {a}, {b}, {a, b}, {c}, {d}, {a, c}, {b, c}, {a, d}, {b, d}, {a, b, c}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 8, 4, 3]
[{}, {a}, {b}, {a, b}, {c}, {d}, {a, c}, {a, d}, {b, c}, {b, d}, {a, b, c}, {a, b, d}, {c, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 7, 4, 2]
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {a, b, c}, {d}, {a, d}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 4, 3, 2]
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {b, c}, {d}, {a, b, c}, {a, d}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 4, 3, 2]
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {d}, {b, c}, {a, d}, {a, b, c}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 5, 4, 2]
[{}, {a}, {b}, {c}, {a, b}, {a, c}, {d}, {a, d}, {b, c}, {a, b, c}, {b, d}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 7, 6, 2]
[{}, {a}, {b}, {c}, {a, b}, {d}, {a, c}, {b, c}, {a, d}, {b, d}, {a, b, c}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 6, 4, 3]
[{}, {a}, {b}, {c}, {a, b}, {d}, {a, c}, {a, d}, {b, c}, {b, d}, {a, b, c}, {c, d}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [10, 8, 6, 3]
[{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {b, c}, {a, d}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [8, 6, 5, 4]
[{}, {a}, {b}, {c}, {d}, {a, b}, {a, c}, {a, d}, {b, c}, {b, d}, {c, d}, {a, b, c}, {a, b, d}, {a, c, d}, {b, c, d}, {a, b, c, d}], [7, 6, 5, 3]
Sau đây không phải là một thứ tự trừu tượng hợp lệ:
{}, {a}, {b}, {c}, {d}, {a,b}, {e}, {a,c}, {b,c}, {a,d}, {a,e}, {b,d}, {b,e}, {c,d}, {a,b,c}, {a,b,d}, {c,e}, {d,e}, {a,b,e}, {a,c,d}, {a,c,e}, {b,c,d}, {b,c,e}, {a,d,e}, {b,d,e}, {a,b,c,d}, {c,d,e}, {a,b,c,e}, {a,b,d,e}, {a,c,d,e}, {b,c,d,e}, {a,b,c,d,e}
Thứ tự này ngụ ý rằng:
d < a + b
b + c < a + d
a + e < b + d
a + b + d < c + e
Tổng hợp các bất đẳng thức này cho:
2a + 2b + c + 2d + e < 2a + 2b + c + 2d + e
đó là một mâu thuẫn. Mã của bạn không được tính thứ tự này. Counterexamples như vậy đầu tiên xuất hiện tại n=5
. Ví dụ từ bài báo này , ví dụ 2.5 trên trang 3.
Lệnh này không hợp lệ mặc dù thực tế A < B
ngụ ý rằng A U C < B U C
, đối với bất kỳ sự C
rời rạc nào từ A
và B
.
Mã hoặc chương trình của bạn phải đủ nhanh để bạn có thể chạy nó để hoàn thành n=4
trước khi gửi nó.
Đệ trình có thể là chương trình, chức năng, vv như bình thường.
Lỗ hổng tiêu chuẩn bị cấm, như mọi khi. Đây là mã golf, vì vậy câu trả lời ngắn nhất trong byte thắng. Hãy đặt câu hỏi làm rõ trong các ý kiến.