JOI 2014 - Schedule
Xem PDFCâu lạc bộ lập trình của trường trung học IOI có ba thành viên là J, O và I. Câu lạc bộ đang lập lịch sinh hoạt cho \(N\) ngày.
Trong mỗi ngày, mỗi thành viên có hai lựa chọn: tham gia hoặc không tham gia. Vì vậy, xét riêng việc tham gia của ba thành viên, có tất cả \(8\) khả năng cho một ngày.
Phòng câu lạc bộ chỉ có một chiếc chìa khóa, ban đầu do J giữ. Vào mỗi ngày sinh hoạt, một trong những thành viên tham gia ngày đó phải mang theo chìa khóa. Sau buổi sinh hoạt, một trong những thành viên đã tham gia sẽ mang chìa khóa về.
Để bảo đảm buổi sinh hoạt diễn ra vào tất cả các ngày đã định, câu lạc bộ chỉ định trước một người phụ trách cho mỗi ngày. Người phụ trách bắt buộc phải tham gia buổi sinh hoạt của ngày đó.
Cho số ngày cần lập lịch và người phụ trách của từng ngày, hãy viết chương trình đếm số lịch tham gia cho phép câu lạc bộ sinh hoạt vào tất cả các ngày, rồi in ra phần dư của số đó khi chia cho \(10007\).
Thành viên mang chìa khóa về sau mỗi buổi có thể là bất kỳ thành viên nào tham gia buổi đó. Vào ngày cuối cùng, ai mang chìa khóa về cũng được. Một lịch được xác định bởi những thành viên tham gia từng ngày.
Dữ liệu vào
Dữ liệu vào gồm \(2\) dòng:
- Dòng đầu tiên chứa số nguyên \(N\), là số ngày cần lập lịch.
- Dòng thứ hai chứa một chuỗi gồm \(N\) ký tự. Ký tự thứ \(i\) (\(1 \le i \le N\)) cho biết người phụ trách ngày thứ \(i\):
J,O,Ilần lượt tương ứng với J, O, I.
Dữ liệu ra
In ra một dòng chứa phần dư của số lịch hợp lệ khi chia cho \(10007\).
Ràng buộc
- \(2 \le N \le 1000\).
- Chuỗi có đúng \(N\) ký tự, mỗi ký tự là
J,OhoặcI.
Ví dụ
Ví dụ 1
Input
2
OI
Output
7
Giải thích
Cần lập lịch cho \(2\) ngày. Người phụ trách ngày thứ nhất là O, người phụ trách ngày thứ hai là I. Có \(7\) lịch thỏa mãn các điều kiện:
| Lịch | Ngày thứ nhất | Ngày thứ hai |
|---|---|---|
| 1 | J, O | O, I |
| 2 | J, O | J, I |
| 3 | J, O | J, O, I |
| 4 | J, O, I | I |
| 5 | J, O, I | J, I |
| 6 | J, O, I | O, I |
| 7 | J, O, I | J, O, I |
Trong bảng, J, O, I cho biết các thành viên tham gia vào ngày tương ứng.
Mặc dù O là người phụ trách ngày thứ nhất, J là người giữ chìa khóa ban đầu, nên cả J và O đều phải tham gia ngày thứ nhất.
Người mang chìa khóa về sau ngày thứ nhất phải tham gia ngày thứ hai. Do đó, phải có ít nhất một người tham gia cả hai ngày.
Ví dụ 2
Input
20
JIOIJOIJOJOIIIOJIOII
Output
4976
Giải thích
Có tất cả \(72493594992\) lịch thỏa mãn các điều kiện. Phần dư khi chia số này cho \(10007\) là \(4976\), nên in ra \(4976\).
Kỳ thi:
- JOI 2013/2014 - Vòng sơ khảo (1 Tháng 1., 2014)
Bình luận