Đối với những người bạn không quen thuộc, Vấn đề nữ sinh của Kirkman diễn ra như sau:
Mười lăm cô gái trẻ trong một trường học đi bộ ba lần trong bảy ngày liên tiếp: bắt buộc phải sắp xếp họ hàng ngày để không có hai người đi bộ hai lần.
Chúng ta có thể xem xét điều này như một lồng nhau 3 của 5 danh sách (hoặc ma trận):
[[a,b,c]
[d,e,f]
[g,h,i]
[j,k,l]
[m,n,o]]
Về cơ bản, mục tiêu của vấn đề ban đầu là tìm ra 7 cách khác nhau để sắp xếp ma trận trên sao cho hai chữ cái không bao giờ chia sẻ một hàng nhiều lần . Từ MathWorld (được liên kết ở trên), chúng tôi tìm thấy giải pháp này:
[[a,b,c] [[a,d,h] [[a,e,m] [[a,f,i] [[a,g,l] [[a,j,n] [[a,k,o]
[d,e,f] [b,e,k] [b,h,n] [b,l,o] [b,d,j] [b,i,m] [b,f,g]
[g,h,i] [c,i,o] [c,g,k] [c,h,j] [c,f,m] [c,e,l] [c,d,n]
[j,k,l] [f,l,n] [d,i,l] [d,k,m] [e,h,o] [d,o,g] [e,i,j]
[m,n,o]] [g,j,m]] [f,j,o]] [e,g,n]] [i,k,n]] [f,h,k]] [h,l,m]]
Bây giờ, nếu có một số lượng nữ sinh khác nhau thì sao? Có thể có một ngày thứ tám? † Đây là thách thức của chúng tôi.
† Trong trường hợp này không †† , nhưng không nhất thiết phải cho kích thước mảng khác
†† Chúng ta có thể dễ dàng hiển thị này, kể từ khi axuất hiện trong một hàng với mỗi lá thư khác.
Các thách thức:
Với một đầu vào kích thước (hàng, cột hơn) của một mảng của nữ sinh (tức là 3 x 5, 4 x 4hoặc [7,6], [10,10]vv), sản lượng các thiết lập lớn nhất có thể của 'ngày' phù hợp với các yêu cầu đã nêu ở trên.
Đầu vào:
Kích thước cho mảng nữ sinh (bất kỳ hình thức nhập hợp lý nào bạn muốn).
Đầu ra:
Chuỗi mảng lớn nhất có thể phù hợp với các yêu cầu trên (bất kỳ dạng hợp lý nào).
Các trường hợp thử nghiệm:
Input: [1,1]
Output: [[a]]
Input: [1,2]
Output: [[a,b]]
Input:* [2,1]
Output: [[a]
[b]]
Input: [2,2]
Output: [[a,b] [[a,c] [[a,d]
[c,d]] [b,d]] [b,c]]
Input: [3,3]
Output: [[a,b,c] [[a,d,g] [[a,e,i] [[a,f,h]
[d,e,f] [b,e,h] [b,f,g] [b,d,i]
[g,h,i]] [c,f,i]] [c,d,h]] [c,e,g]]
Input: [5,3]
Output: [[a,b,c] [[a,d,h] [[a,e,m] [[a,f,i] [[a,g,l] [[a,j,n] [[a,k,o]
[d,e,f] [b,e,k] [b,h,n] [b,l,o] [b,d,j] [b,i,m] [b,f,g]
[g,h,i] [c,i,o] [c,g,k] [c,h,j] [c,f,m] [c,e,l] [c,d,n]
[j,k,l] [f,l,n] [d,i,l] [d,k,m] [e,h,o] [d,o,g] [e,i,j]
[m,n,o]] [g,j,m]] [f,j,o]] [e,g,n]] [i,k,n]] [f,h,k]] [h,l,m]]
There may be more than one correct answer.
* Cảm ơn @F Frozenfrank đã sửa trường hợp kiểm tra 3 : nếu chỉ có một cột, chỉ có thể có một ngày, vì thứ tự hàng không thành vấn đề.
Đây là cuộc thi đánh gôn - câu trả lời ngắn nhất sẽ thắng.