Giải bài trực tuyến

Problem hidden
This problem was hidden by Editorial Board member probably because it has incorrect language version or invalid test data, or description of the problem is not clear.

Từ tập các bài có trên SPOJ (acm)

7036. Tráo bài

Mã bài: NKCARD

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:1s
Giới hạn mã nguồn:50000B
Ngôn ngữ cho phép:Tất cả ngoại trừ: AWK CLOJ ERL F# GO PERL 6 PYTH 3.1.2 SCALA SED TCL
Nguồn bài:noi 2010 Singapore

hide comments
2011-12-06 04:34:40 1 code 100 ðiểm cả nhà AC
bài này hình như có 1 test hiểm hay sao mà toàn 90
2011-11-13 17:46:36 ngô hoàng anh phúc
??? 90 :((
2011-06-23 12:13:02 ndduy1995


Last edit: 2011-06-23 12:16:22
2011-06-19 11:06:24 Le Viet Thanh Long
Minh cung ko hieu sao chi duoc 90 diem

Last edit: 2011-06-19 15:14:20
2011-06-06 10:21:21 Tà Kiếm Tâm
@TLMN: sao tôi làm giống ông bảo vẫn 90 ðều ðều :|
2011-05-06 11: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 15:46:18 Lý Mạnh Linh
Sao ben tren ghi la k<m-1, roi ben duoi lai ghi k<m la sao?
SPOJ System © 2012 Sphere Research Labs | Projekty informatyczne i aplikacje na zamówienie. All Rights Reserved.