JOI 2006 - Card Piles

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2300 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Yêu cầu

\(k\) bộ thẻ, mỗi bộ mang các số \(1\) đến \(n\). Sau khi xáo, chia thành \(n\) chồng, mỗi chồng \(k\) lá. Trò chơi bắt đầu ở chồng \(1\): rút lá trên cùng mang số \(i\) thì tiếp tục rút ở chồng \(i\). Thành công khi mọi chồng đều rỗng; thất bại nếu phải rút từ một chồng đã rỗng khi vẫn còn lá nơi khác.

Nếu thất bại, có thể khởi động lại tối đa \(m\) lần, mỗi lần từ chồng trái nhất còn lá. Mọi cách xáo ban đầu có xác suất như nhau. Hãy tính xác suất thành công \(p\) và in chính xác \(r\) chữ số thập phân, cắt bỏ các chữ số sau vị trí \(r\) mà không làm tròn.

Dữ liệu vào

Một dòng chứa \(n,k,m,r\).

Dữ liệu ra

In xác suất \(p\) với đúng \(r\) chữ số sau dấu chấm. Nếu khai triển kết thúc, vẫn phải in các chữ số 0 còn thiếu.

Ràng buộc

  • \(1\le n\le10000\).
  • \(1\le k\le100\).
  • \(m\in\{0,1\}\).
  • \(1\le r\le10000\).

Ví dụ

Ví dụ 1

Input
5 2 0 2
Output
0.20

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: