Trong thử thách này, bạn sẽ nhận được một danh sách các trọng số được phân tách bằng dấu phẩy làm đầu vào, chẳng hạn như
1,3,4,7,8,11
Và bạn phải xuất số lượng trọng lượng nhỏ nhất có thể thêm vào tập hợp đó. Ví dụ: đầu ra cho bộ này sẽ là
1,3,7
Bởi vì bạn có thể đại diện cho tất cả các trọng số đó chỉ với ba trọng số đó:
1 = 1
3 = 3
1+3 = 4
7 = 7
1+7 = 8
1+3+7 = 11
Có thể có nhiều hơn một giải pháp. Ví dụ: giải pháp của bạn cho đầu vào 1,2có thể là 1,1hoặc 1,2. Miễn là nó tìm thấy số lượng trọng lượng tối thiểu có thể đại diện cho bộ đầu vào, thì đó là một giải pháp hợp lệ.
Trọng lượng có thể không được sử dụng nhiều hơn một lần. Nếu bạn cần sử dụng một lần hai lần, bạn phải xuất nó hai lần. Ví dụ: 2,3không phải là giải pháp hợp lệ 2,3,5,7vì bạn không thể sử dụng 2hai lần cho 2+2+3=7.
Đầu vào được đảm bảo không có số trùng lặp.
Đây là môn đánh gôn nên mã ngắn nhất theo số ký tự thắng.
Truy cập mạng bị cấm (vì vậy không ai trong số "thông minh" của bạn wgetgiải pháp @JohannesKuhn ho ho );)
Trường hợp đơn giản nhất:
1,5,6,9,10,14,15 => 1,5,9
7,14,15,21,22,29 => 7,14,15
4,5,6,7,9,10,11,12,13,15,16,18 => 4,5,6,7
2,3,5,7 => 2,2,3 or 2,3,7
Và một số cái khó hơn:
10,16,19,23,26,27,30,37,41,43,44,46,50,53,57,60,61,64,68,71,77,80,84,87
=> 3,7,16,27,34
20,30,36,50,56,63,66,73,79,86
=> 7,13,23,43
27,35,44,46,51,53,55,60,63,64,68,69,72,77,79,81,86,88,90,95,97,105,106,114,123,132
=> 9,18,26,37,42
7,7,7,8ở trên), làm tăng độ phức tạp lên gấp nhiều lần.
ntrọng số đầu vào và mlà lớn nhất, hãy liệt kê tất cả các chuỗi sau (1..m)và cho mỗi chuỗi sau, liệt kê mọi kết hợp giữa 1 và các ntrường hợp của mỗi yếu tố của chuỗi.)