liên quan và lấy cảm hứng từ - Tìm phân vùng tổng hợp
Một tập hợp Ađược định nghĩa ở đây như là rành mạch tổng hợp miễn phí nếu
- 1) nó bao gồm ít nhất ba yếu tố
|A| ≥ 3, và - 2) tính tổng riêng biệt của nó
A + A = { x + y | x, y in A}(vớix,yriêng biệt, nghĩa là,x≠y) không có yếu tố chung vớiA.
(Obsolete -... Không sử dụng này đi về phía trước trái ở đây chỉ bởi vì một số câu trả lời có thể đã sử dụng nó Nó không phù hợp với các điều kiện trên Ngoài ra, phương trình x + y = zkhông có giải pháp cho x,y,z ∈ A(một lần nữa với x,y,zriêng biệt, tức là x≠y, x≠z, y≠z.) )
Đối với một ví dụ đơn giản, {1,3,5}rõ ràng là không có tổng, nhưng {1,3,4}không phải. {1,3}và {3}cũng không, vì chúng không có ít nhất ba yếu tố.
Thách thức ở đây là tìm ra tập hợp con không có tổng lớn nhất của đầu vào đã cho.
Đầu vào
- Một bộ
Asố nguyên không có thứ tự trong bất kỳ định dạng thuận tiện . - Các số nguyên có thể là dương, âm hoặc bằng 0, nhưng có thể được coi là phù hợp với
[int]kiểu dữ liệu gốc của ngôn ngữ của bạn (hoặc tương đương). - Bộ này được đảm bảo chỉ có các yếu tố riêng biệt (không có nhiều trang ở đây).
- Bộ này không nhất thiết phải được sắp xếp.
Đầu ra
- Tập hợp con lớn nhất của
A(có thể làAchính nó), hoàn toàn không có tổng. Đầu ra có thể ở bất kỳ định dạng phù hợp. - Nếu không có tập hợp con như vậy tồn tại, xuất ra một tập hợp trống hoặc giá trị falsey khác .
- Nếu nhiều tập con được gắn với giá trị lớn nhất, hãy xuất bất kỳ hoặc tất cả chúng.
- Tập hợp con không nhất thiết phải được sắp xếp, hoặc theo thứ tự như đầu vào. Ví dụ, đối với đầu
{1,3,5}ra đầu vào{5,1,3}là chấp nhận được.
Quy tắc bổ sung
- Sơ hở tiêu chuẩn bị cấm.
- Đây là môn đánh gôn , vì vậy tất cả các quy tắc chơi gôn thông thường đều được áp dụng và mã ngắn nhất sẽ thắng.
Ví dụ
Input -> Output (any or all)
{0} -> {}
{1, 2, 3} -> {}
{1, 3, 5} -> {1, 3, 5}
{1, 2, 3, 4, 5} -> {1, 2, 5} {1, 2, 4} {1, 3, 5} {2, 3, 4} {2, 4, 5} {3, 4, 5}
{-5, 4, 3, -2, 0} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-5, 4, 3, -2} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-17, 22, -5, 13, 200, -1, 1, 9} -> {-17, 22, -5, 13, 200, -1, 1} {-17, 22, -5, 200, -1, 1, 9} {-17, -5, 13, 200, -1, 1, 9}