Nhiệm vụ của bạn là, được cung cấp một lưới các chữ số ( 0-9), xuất ra một trong những cách mà các chữ số có thể được nhóm lại sao cho:
- Mỗi chữ số là một phần của chính xác một nhóm
- Tất cả các nhóm có cùng số chữ số
- Tất cả các nhóm được giới hạn bởi một hình dạng giống như đa giác (điều này có nghĩa là mọi chữ số trong nhóm nằm bên cạnh [trái, phải, lên, xuống] ít nhất một chữ số khác của cùng một nhóm, trừ khi mỗi nhóm có 1 phần tử).
- Tất cả các nhóm có cùng một tổng
Lưới đầu vào sẽ luôn là một hình vuông: Bạn có thể chọn bất kỳ phương thức nhập nào bạn muốn (bao gồm cung cấp đối số cho hàm hoặc phương thức). Ngoài ra, đầu vào sẽ cung cấp số lượng nhóm mà chương trình của bạn nên nhóm các chữ số thành.
Ví dụ đầu vào:
Giả sử định dạng đầu vào của bạn là stringOfDigits numberOfGroups.
Một ví dụ đầu vào sẽ là:
156790809 3
mà sẽ dịch sang (một lưới sqrt(9) * sqrt(9))
1 5 6
7 9 0
8 0 9
mà bạn sẽ phải chia thành 3 nhóm, mỗi nhóm nên có 9 / 3 = 3các phần tử có cùng một tổng.
Đầu ra: Đầu ra phải là chuỗi các chữ số, với các khoảng trắng và dòng mới tùy chọn để định dạng, với mỗi chữ số theo sau là một chữ cái a-zchỉ nhóm của nó. Cần có chính xác numberOfTotalDigits / numberOfGroupscác yếu tố trong mỗi nhóm. Bạn sẽ không bao giờ phải chia một cái gì đó thành hơn 26 nhóm.
Ví dụ đầu ra:
1a 5a 6b
7c 9a 0b
8c 0c 9b
Lưu ý rằng thay thế tất cả as bằng bs và bs bằng as đều có giá trị như nhau. Miễn là mỗi nhóm được ký hiệu bằng một chữ cái riêng biệt, đầu ra là hợp lệ.
Ngoài ra, tôi hy vọng hầu hết các chương trình sẽ xuất ra thứ gì đó dọc theo dòng này, bởi vì dòng mới / dấu cách là tùy chọn:
1a5a6b7c9a0b8c0c9b
Trong trường hợp này, thêm tất cả các chữ số của nhóm a, bhoặc clàm cho 15. Thêm vào đó, tất cả các nhóm đều bị ràng buộc bởi một số đa giác.
Đầu ra không hợp lệ:
1a 5a 6b
7c 9a 0c
8c 0b 9b
bởi vì các nhóm không tạo thành đa giác (cụ thể, 6bbị cô lập và 0ccũng cô đơn).
1a 5a 6b
7c 9a 0b
8c 0b 9b
bởi vì nhóm bcó 4 yếu tố trong khi cchỉ có 2.
Vân vân.
Nếu không có giải pháp hợp lệ, chương trình của bạn có thể làm bất cứ điều gì (ví dụ như dừng, sập, chạy mãi mãi) nhưng nếu chương trình của bạn in Nonekhi không có giải pháp hợp lệ, -15sẽ ghi điểm của bạn.
Nếu có nhiều hơn một giải pháp, bạn chỉ phải in một giải pháp, nhưng -20nếu chương trình của bạn in tất cả chúng được phân tách bằng một số dấu phân cách.
Đây là mã golf, vì vậy mã ngắn nhất (có tiền thưởng) sẽ thắng!
156790889 3có vẻ như nó phải vậy156790809 3
6blà bị cô lập, không phải là0b.