Xếp hàng

View as PDF

Submit solution

Points: 200.00 (partial)
Time limit: 1.0s
Memory limit: 1G
Input: stdin
Output: stdout

Author:
Problem type
Allowed languages
C, C++, GAS64, Pascal, Perl, PHP, Python, Sed, TCL, Text

Trong giờ học môn thể dục của trường THPT chuyên Lê Quý Đôn, thầy Thạnh xếp n học sinh của lớp 12T thành một hàng và vị trí của các học sinh được đánh số từ 1 đến n từ trái sang phải. Ban đầu các học sinh đứng tùy ý trong hàng. Tuy nhiên, để ưu tiên các bạn nữ, thầy muốn các bạn nam không được đứng liền trước bạn nữ nào (đứng liền trước ở đây được hiểu rằng vị trí của bạn nam là i và vị trí của bạn nữ là i+1).

Để thực hiện quy định này, thầy bắt đầu đi từ đầu hàng đến cuối hàng, khi gặp bạn nam nào đứng liền trước một bạn nữ, thầy sẽ yêu cầu bạn nam này đổi chỗ cho bạn nữ rồi đi tiếp đến các bạn sau đó. Chú ý rằng trong một lượt sắp xếp, thầy chỉ đi theo một chiều và mỗi bạn nam sẽ chỉ được đổi chỗ một lần. Tất nhiên là chỉ với một lượt sắp xếp như vậy thì vẫn có thể có nhiều vị trí mà bạn nam đứng trước nữ xuất hiện thêm nên cần phải làm đi làm lại thao tác sắp xếp nhiều lần.

Yêu cầu:

Cho hai số nguyên dương n, t (0 < n, t<=50) và một dãy các kí tự in hoa G và B, trong đó G là kí hiệu bạn nữ và B kí hiệu bạn nam thể hiện vị trí các học sinh của lớp ban đầu. Hỏi sau lần thay đổi thứ t thì vị trí của các học sinh thế nào và sau bao nhiêu lần thao tác thì thầy Thạnh sẽ hoàn tất việc sắp xếp này.

Dữ liệu vào:

  • Dòng thứ nhất chứa hai số nguyên dương n và t cách nhau bởi một khoảng trắng;
  • Dòng thứ hai gồm một dãy n kí tự ‘G’ và ‘B’ biểu thị vị trí đứng của các học sinh trong hàng (từ trái qua phải tương ứng với chỉ số vị trí tăng dần).

Kết quả:

  • Dòng thứ nhất gồm một dãy gồm n kí tự ‘G’ và ‘B’ biểu thị vị trí đứng của các học sinh sau khi thầy giáo sắp xếp lại lần thứ t;
  • Dòng thứ hai là một số nguyên cho biết số lần thầy giáo cần sắp xếp.

Ví dụ:


Comments

Please read the guidelines before commenting.


There are no comments at the moment.