Thử thách này dựa trên câu đố sau: Bạn được cung cấp n
bởi một n
lưới với n
các ô được đánh dấu. Công việc của bạn là phân vùng lưới thành n
các phần trong đó mỗi phần bao gồm chính xácn
các ô, mỗi phần chứa chính xác một ô được đánh dấu.
Thí dụ
Đây là một câu đố bên trái và giải pháp (duy nhất) của nó ở bên phải:
Thử thách
Bạn sẽ được cung cấp một bộ n
tọa độ không có chỉ mục ở bất kỳ định dạng hợp lý nào.
[(0,0), (0,3), (1,0), (1,1), (2,2)]
Và công việc của bạn là viết một chương trình trả về bất kỳ phép hợp lệ nào (một lần nữa, ở bất kỳ định dạng hợp lý nào).
[
[(0,0), (0,1), (0,2), (1,2), (1,3)],
[(0,3), (0,4), (1,4), (2,4), (3,4)],
[(1,0), (2,0), (3,0), (4,0), (4,1)],
[(1,1), (2,1), (3,1), (3,2), (4,2)],
[(2,2), (2,3), (3,3), (4,3), (4,4)]
]
Nếu câu đố không có giải pháp, chương trình sẽ chỉ ra rằng bằng cách ném lỗi hoặc trả về một giải pháp trống.
Ví dụ đầu vào / đầu ra
[(0,0)] => [[(0,0)]]
[(0,0), (1,1)] => [
[(0,0), (1,0)],
[(0,1), (1,1)]
]
[(0,0), (0,1), (1,0)] => [] (no solution)
[(0,0), (0,1), (0,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (1,1), (2,1)],
[(0,2), (1,2), (2,2)],
]
[(0,0), (0,2), (1,2)] => [
[(0,0), (1,0), (2,0)],
[(0,1), (0,2), (1,1)],
[(1,2), (2,1), (2,2)],
]
Chấm điểm
Đây là mã golf , vì vậy mã ngắn nhất sẽ thắng.
Điều này được lấy cảm hứng từ câu hỏi Math Stack Exchange này .
—
Peter Kagey
@Arnauld, có vẻ như đối với câu đố Shikaku, "mục tiêu là chia lưới thành các mảnh hình chữ nhật và hình vuông". Trong trường hợp này, không có ràng buộc như vậy.
—
Peter Kagey
Xin lỗi vì sự nhầm lẫn. Tôi nghĩ rằng có thể có một thử thách Shikaku ở đâu đó trong hộp cát, hoặc có thể tôi đang dự định tự làm một lúc nào đó - tôi không thể nhớ chắc chắn. Dù bằng cách nào, tôi nghĩ rằng đó là điều tương tự thoạt nhìn.
—
Arnauld
Tại sao kết quả là một mảng 2d tọa độ? Tôi không hiểu những gì đang được thể hiện ở đó ... Không thể là mảng 2d của chỉ mục của mảng? Ví dụ hàng 3, cột 2 chứa phân vùng có tọa độ tại chỉ số 4?
—
Olivier Grégoire
Chúng ta có thể giả sử rằng mỗi khu vực có thể được rút ra bằng cách bắt đầu từ tọa độ tham chiếu, như ví dụ cho thấy? Tôi mới nhận ra rằng tôi đã vô tình coi điều này là đương nhiên.
—
Arnauld