Đầu vào:
- Một số nguyên
n
- Hai ma trận vuông có kích thước bằng nhau (với chiều rộng / chiều cao của chúng là bội số của
n
)
Đầu ra:
Một trong hai giá trị riêng biệt của sự lựa chọn của bạn, một là cho kết quả trung thực và một cho kết quả falsey (vì vậy, 1/0
thay vì true/false
là kết quả đầu ra hợp lệ cho các ngôn ngữ như Java, mặc dù chúng không được coi là giá trị trung thực / falsey chính thức ).
Đầu ra trung thực / falsey cho biết liệu chúng ta có thể sắp xếp lại các khối kích thước n by n
trong một ma trận để làm cho nó bằng với ma trận khác hay không.
Thí dụ:
Đầu vào:
Matrix 1:
1 2 3 4 5 6
7 8 9 0 1 2
3 4 5 6 7 8
9 8 7 6 5 4
3 2 1 0 9 8
1 1 1 1 1 1
Matrix 2:
3 2 9 8 7 8
1 1 1 1 5 4
3 4 5 6 1 0
9 0 7 6 1 1
5 6 1 2 3 4
1 2 7 8 9 8
Integer n:
2
Đầu ra: truthy
Tại sao?
Nếu chúng ta chia ma trận thành các khối 2 by 2
, chúng ta có thể thấy rằng tất cả các khối trên một ma trận cũng có thể được tìm thấy trong ma trận khác:
Matrix 1:
1 2 | 3 4 | 5 6
7 8 | 9 0 | 1 2
---------------
3 4 | 5 6 | 7 8
9 8 | 7 6 | 5 4
---------------
3 2 | 1 0 | 9 8
1 1 | 1 1 | 1 1
Matrix 2:
3 2 | 9 8 | 7 8
1 1 | 1 1 | 5 4
---------------
3 4 | 5 6 | 1 0
9 0 | 7 6 | 1 1
---------------
5 6 | 1 2 | 3 4
1 2 | 7 8 | 9 8
Quy tắc thử thách:
- Bạn có thể giả sử ma trận sẽ chỉ chứa các chữ số không âm (phạm vi
[0,9]
) - Bạn có thể giả sử chiều rộng / chiều cao của ma trận bằng nhau và bội số của
n
- Bạn có thể giả sử
n
sẽ nằm trong phạm vi[1, 50]
và chiều rộng / chiều cao của ma trận nằm trong phạm vi[1,100]
. - Các khối riêng lẻ
n by n
chỉ có thể được sử dụng một lần để xác định xem các ma trận có hoán vị lẫn nhau khi chia thành các khối khôngn by n
. - Có thể có nhiều
n by n
khối giống nhau. - Các
n by n
khối sẽ vẫn giữ nguyên hướng khi kiểm tra xem hai ma trận có hoán vị lẫn nhau khi chia thành các khối khôngn by n
.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Quy tắc chuẩn áp dụng cho câu trả lời của bạn với quy tắc I / O mặc định , vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp và kiểu trả về, chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn (ví dụ TIO ).
- Ngoài ra, thêm một lời giải thích cho câu trả lời của bạn rất được khuyến khích.
Các trường hợp thử nghiệm:
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 2
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 1
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 5 6 3 2 9 8 7 8 3
7 8 9 0 1 2 1 1 1 1 5 4
3 4 5 6 7 8 3 4 5 6 1 0
9 8 7 6 5 4 9 0 7 6 1 1
3 2 1 0 9 8 5 6 1 2 3 4
1 1 1 1 1 1 1 2 7 8 9 8
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 1 2 3 4 4
2 3 4 5 2 3 4 5
3 4 5 6 3 4 5 6
4 5 6 7 4 5 6 7
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 3 4 3 4 2
2 3 4 5 4 5 4 5
3 4 5 6 1 2 5 6
4 5 6 7 2 3 6 6
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 2 3 1
3 4 1 1
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
0 8 1
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 3 4 1 2 1 2 2
5 6 7 8 5 6 5 6
9 0 0 9 0 9 9 0
4 3 2 1 2 1 4 3
Output:
falsey
Input:
Matrix 1: Matrix 2: Integer:
1 2 1 2 9 5 1 2 2
3 4 3 4 7 7 3 4
8 3 9 5 1 2 8 3
6 1 7 7 3 4 6 1
Output:
truthy
Input:
Matrix 1: Matrix 2: Integer:
1 0 2 0 0 3 1 1 1 0 0 3 2
1 1 1 1 1 1 2 0 1 1 1 1
2 2 2 2 2 2 2 2 2 2 2 2
3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4
5 5 5 5 5 5 5 5 5 5 5 5
Output:
falsey
[ [ 0 ] ], [ [ 25 ] ], 1
hiện tại? Tôi hiểu You can assume the matrices will only contain non-negative digits (range [0,9])
rằng các giá trị ma trận chỉ nằm trong khoảng từ 0 đến 9?
[0,9]
sau này trong Sandbox. Tôi đã thay đổi trường hợp thử nghiệm thành [[0]],[[8]]
.