Khi nhân các đơn thức trong cơ sở Milnor cho đại số Steenrod, một phần của thuật toán bao gồm việc liệt kê một số "ma trận cho phép" nhất định.
Cho hai danh sách các số nguyên không âm r 1 , ..., r m và s 1 , ..., s n , một ma trận các số nguyên không âm X
được phép nếu
Tổng của cột thứ j nhỏ hơn hoặc bằng s j :
Tổng của hàng thứ i có trọng số bằng 2 là nhỏ hơn hoặc bằng r i :
Bài tập
Viết chương trình lấy một cặp danh sách r 1 , ..., r m và s 1 , s 1 , ..., s n và tính số lượng ma trận cho phép cho các danh sách này. Chương trình của bạn có thể tùy chọn lấy m và n làm đối số bổ sung nếu cần.
Những con số này có thể được nhập vào ở bất kỳ định dạng nào mà một lượt thích, ví dụ được nhóm thành danh sách hoặc được mã hóa dưới dạng unary hoặc bất cứ thứ gì khác.
Đầu ra phải là số nguyên dương
- Tiêu chuẩn áp dụng.
Chấm điểm
Đây là mã golf: Giải pháp ngắn nhất trong byte thắng.
Ví dụ:
Cho [2]
và [1]
, có hai ma trận cho phép:
Cho [4]
và [1,1]
có ba ma trận cho phép:
Cho [2,4]
và [1,1]
có năm ma trận cho phép:
Các trường hợp thử nghiệm:
Input: [1], [2]
Output: 1
Input: [2], [1]
Output: 2
Input: [4], [1,1]
Output: 3
Input: [2,4], [1,1]
Output: 5
Input: [3,5,7], [1,2]
Output: 14
Input: [7, 10], [1, 1, 1]
Output: 15
Input: [3, 6, 16, 33], [0, 1, 1, 1, 1]
Output: 38
Input: [7, 8], [3, 3, 1]
Output: 44
Input: [2, 6, 15, 18], [1, 1, 1, 1, 1]
Output: 90
Input: [2, 6, 7, 16], [1, 3, 2]
Output: 128
Input: [2, 7, 16], [3, 3, 1, 1]
Output: 175