Thử thách này được lấy cảm hứng từ ứng dụng này .
Đây là một phiên bản dễ dàng hơn nhiều của thử thách này . Thử thách này là code-golf , trong khi thử thách còn lại là code nhanh nhất .
Bạn sẽ được cung cấp một lưới đầu vào hình vuông, có kích thước 6 x 6 được chia thành 6 khu vực, trong đó các ô của mỗi khu vực có một mã định danh duy nhất (Tôi sẽ sử dụng các chữ cái viết thường từ af trong văn bản ở đây, nhưng bạn có thể chọn bất cứ thứ gì bạn thích, ví dụ số nguyên 1-6 ).
Đầu vào có thể trông như thế này (định dạng đầu vào tùy chọn):
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
Hoặc, dễ hình dung hơn:
Thử thách:
Bạn phải đặt 6 cây trong công viên này, theo các quy tắc sau:
- Sẽ có chính xác 1 cây trên mỗi cột và 1 cây trên mỗi hàng
- Tất cả các khu vực sẽ có chính xác 1 cây.
- Không có cây nào có thể liền kề với cây khác, theo chiều dọc, chiều ngang hoặc đường chéo
Giải pháp cho bố cục trên là:
Lưu ý: Chỉ có một giải pháp cho mỗi câu đố
Quy tắc bổ sung:
- Các định dạng đầu vào và đầu ra là tùy chọn
- Ví dụ, đầu ra có thể là một danh sách các chỉ mục, lưới có 1/0 cho biết nếu có một cây ở vị trí đó hoặc một phiên bản sửa đổi của đầu vào nơi các cây được chỉ định
- Thời gian thực hiện phải có tính quyết định
- Chương trình phải hoàn thành trong vòng 1 phút trên một máy tính xách tay hiện đại hợp lý
- Brownie điểm nếu bạn không vũ phu!
Các trường hợp thử nghiệm:
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
---
aAbbbb
aabbbB
aaCcbb
acccDb
Ecccdb
eeeFff
----------
aabccc
aacccc
aaddce
aeeeee
aeeefe
eeeeee
---
aaBccc
aacccC
aadDce
Aeeeee
aeeeFe
eEeeee
----------
aaaabb
aacbbb
aadddb
addeef
ddddee
dddeee
---
aaaaBb
aaCbbb
Aadddb
addeeF
dDddee
dddEee
----------
abbbcd
abebcd
addddd
dddddd
effdff
eeffff
---
abBbcd
abebCd
Addddd
dddDdd
effdfF
eEffff
Các trường hợp thử nghiệm tương tự trên một định dạng dễ phân tích cú pháp hơn một chút:
Test case 1:
[1,1,2,2,2,2;1,1,2,2,2,2;1,1,3,3,2,2;1,3,3,3,4,2;5,3,3,3,4,2;5,5,5,6,6,6]
Test case 2:
[1,1,2,3,3,3;1,1,3,3,3,3;1,1,4,4,3,5;1,5,5,5,5,5;1,5,5,5,6,5;5,5,5,5,5,5]
Test case 3:
[1,1,1,1,2,2;1,1,3,2,2,2;1,1,4,4,4,2;1,4,4,5,5,6;4,4,4,4,5,5;4,4,4,5,5,5]
Test case 4:
[1,2,2,2,3,4;1,2,5,2,3,4;1,4,4,4,4,4;4,4,4,4,4,4;5,6,6,4,6,6;5,5,6,6,6,6]