Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
YB_KT1B2 - Gard |
* Các bạn HS chú ý: Khi nộp bài máy chấm chỉ chấm test ví dụ của đề bài, sau khi kết thúc
bài KT chúng tôi sẽ chấm lại với bộ test đầy đủ, vì vậy hãy test kỹ trước khi nộp bài mình.
Một toán công nhân gồm N người đánh số hiệu từ 1 đến N được bố trí làm việc trên N tầng. Do tính chất công việc nên các công nhân phải được bố trí làm việc theo các tầng liên tục bắt đầu từ tầng 1 và mỗi tầng có không quá K người (K<=N) (như vậy trên các tầng cao có thể không có công nhân làm việc).
Yêu cầu: Xác định xem có bao nhiêu cách khác nhau bó trí công nhân làm việc trên các tầng thoả mãn yêu cầu nói trên. Hai cách bố trí xem như là khác nhau nếu trong hai cách bố trí đó các công nhân phải được phân công khác nhau.
Ví dụ N=3, K=2 có tất cả 12 cách bố trí theo bảng dưới dây: trong bảng, từ cột thứ 2 tên các công nhân làm việc trên tầng ghi ở cột 1.
Tầng |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
1 |
1 2 |
1 3 |
3 2 |
1 |
2 |
3 |
1 |
1 |
2 |
2 |
3 |
3 |
2 |
3 |
2 |
1 |
2 3 |
3 1 |
1 2 |
2 |
3 |
1 |
3 |
1 |
2 |
3 |
|
|
|
|
|
|
3 |
2 |
3 |
1 |
2 |
1 |
Input
- Một dòng ghi hai số N, K (1<=K<=N<=50)
Output
- Một dòng duy nhất chứa số M - số cách bố trí các công nhân tìm được.
Example
Input: 3 2 Output: 12
Được gửi lên bởi: | Vương Trung Hiếu Nghĩa |
Ngày: | 2014-08-11 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | C C++ 4.3.2 CPP PAS-FPC |
Nguồn bài: | HSG cấp trường chuyên YÊN BÁI |