Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
NKCARD - Tráo bài |
CARD
Alice là người chia bài tại bàn chơi Poker trong một Casino ResortWorld vừa mới mở. Cũng giống như những người mới vào nghề khác, cô có 2 cách di chuyển một quân bài khi tráo bài:
- Cách A: Cô lấy 1 quân bài ở trên cùng và chuyển nó xuống dưới cùng bộ bài
- Cách B: Cô lấy 1 quân bài ở vị trí thứ hai từ trên xuống và chuyển nó xuống dưới cùng của bộ bài.
Ban đầu, Alice có m quân bài (chú ý rằng m có thể nhiều hơn 52 quân bài của một bộ bài chuẩn), mỗi quân bài được đánh nhãn: quân bài trên cùng được đánh nhãn 0 và quân bài dưới cùng được đánh nhãn m – 1.
Xét một dãy các thao tác di chuyển: ABBABA
Bảng dưới đây thể hiện bộ bài 6 quân sau khi áp dụng mỗi bước chuyển trong dãy thao tác:
Thao tác |
A |
B |
B |
A |
B |
A |
Kết thúc |
Vị trí các quân bài sau mỗi thao tác di chuyển. |
0 |
1 |
1 |
1 |
4 |
4 |
0 |
1 |
2 |
3 |
4 |
5 |
0 |
2 |
|
2 |
3 |
4 |
5 |
0 |
2 |
3 |
|
3 |
4 |
5 |
0 |
2 |
3 |
1 |
|
4 |
5 |
0 |
2 |
3 |
1 |
5 |
|
5 |
0 |
2 |
3 |
1 |
5 |
4 |
Yêu cầu đặt ra cho chúng ta là: cho trước một dãy thao tác di chuyển và 1 số k; trong đó 0 < k < m – 1, hãy cho biết nhãn của các quân bài thứ k – 1, thứ k và thứ k + 1, tính từ trên xuống, của bộ bài sau khi áp dụng các thao tác di chuyển. Ở đây, quân bài trên cùng có nhãn là quân bài thứ 0. Ví dụ như trên, nếu k = 3 thì câu trả lời là “3 1 5”.
Input
Chứa hai số m và k (0 < k < m, 3 <= m <= 1.000.000) và dãy thao tác được viết trên một dòng. Kí tự cuối cùng của input là kí tự chấm “.”, đó là dấu hiệu kết thúc của input. Tổng số bước di chuyển trong đoạn từ 1 đến 100.000. Trong ví dụ trên của chúng ta là:
6 3 ABBABA.
Output
Chương trình của bạn phải viết ra nhãn của các quân bài thứ k – 1, quân bài thứ k và quân bài thứ k + 1 tính từ trên xuống dưới của bộ bài sau khi áp dụng việc di chuyển các quân bài theo dãy thao tác. Trong ví dụ trên thì output của chúng ta sẽ là:
3 1 5
Example
Input:
6 3 ABBABA.
Output:
3 1 5
Được gửi lên bởi: | Vương Trung Hiếu Nghĩa |
Ngày: | 2010-08-08 |
Thời gian chạy: | 0.200s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: GOSU NODEJS OBJC PERL6 PYPY RUST SED VB.NET |
Nguồn bài: | noi 2010 Singapore |
hide comments
|
|||||
2011-06-06 08:21:21 Tâm Chớp Nhoáng
@TLMN: sao tôi làm giống ông bảo vẫn 90 đều đều :| |
|||||
2011-05-06 09:09:15 TLMN
Bài này mình khuyên các bạn nên đọc từng chữ trong lệnh rồi xử lí luôn, đọc cả chuỗi rồi xử lí toàn bị 90 :| |
|||||
2010-11-24 14:46:18 Lý Mạnh Linh
Sao ben tren ghi la k<m-1, roi ben duoi lai ghi k<m la sao? |