Điểm:
1
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
bàn phím
Output:
màn hình
(dịch đại khái)
Cho \(N\) \((1 \leq N \leq 20)\) chú bò với độ cao \(a_1, a_2, \dots, a_N\). Trang trại có \(N\) chuồng với giới hạn độ cao \(b_1, b_2, \dots, b_N\) (tức, nếu \(b_5=17\), thì chỉ có chú bò cao không quá 17 đơn vị mới được ở chuồng 5).
Có bao nhiêu cách xếp bỏ vào các chuồng sao cho mỗi chú bò ở một chuồng khác nhau, và chú bò nào cũng ở trong chuồng mà không vượt giới hạn độ cao của chuồng đó?
Dữ liệu đầu vào
- Dòng đầu tiên chứa số \(N\).
- Dòng thứ hai chứa \(N\) số nguyên \(a_1, a_2, \dots, a_n\) \((1 \leq a_i \leq 10^9)\)
- Dòng thứ ba chứa \(N\) số nguyên \(b_1, b_2, \dots, b_n\) \((1 \leq b_i \leq 10^9)\)
Định dạng đầu ra
- Số lượng cách thỏa mãn đề. Đáp án không vượt quá kiểu dữ liệu số nguyên 64-bit (
long long
trong C++)
Điểm số
- Test 1-5 thỏa mãn \(N \leq 8\).
- Test 6-12 không có giới hạn nào khác.
Ví dụ
Ví dụ 1
Đầu vào
4
1 2 3 4
2 4 3 4
Đầu ra
8
Giải thích
Trong ví dụ này, không thể đưa chú bò thứ 3 vào chuồng 1 vì \(3=a_3>b_1=2\). Tương tự, không thể đưa bò 4 vào chuồng 1 hoặc 3. Một cách thỏa mãn là gán bò 1 vào chuồng 1, bò 2 chuồng 2, bò 3 chuồng 3, bò 4 chuồng 4.
Bình luận