(ts10ls2425c4.*)
Lam là một học sinh giỏi môn Tin học, các bạn trong lớp hay nhờ Lam giải các bài toán khó. Hôm nay các bạn có nhờ Lam một bài toán về xâu như sau: Cho xâu S chỉ gồm các kí tự chữ cái in thường, các kí tự trong xâu S được đánh số thứ tự từ 1 đến |S| (trong đó |S| là độ dài của xâu S) và thực hiện m lần thay đổi. Với mỗi lần thay đổi, chọn một số nguyên dương k và đảo ngược một đoạn của xâu S từ vị trí k trở về vị trí |S| - k + 1 (luôn đảm bảo k > \(\frac{|S|}{2}\)).
Yêu cầu: Viết chương trình tìm xâu S sau m lần thay đổi.
Dữ liệu vào:
+ Dòng thứ nhất là xâu S (2 \(\leq\) |S| ≤ 2.105);
+ Dòng thứ hai là số nguyên dương m (1 ≤ m \(\leq\) 105);
+ Dòng thứ ba là m số nguyên dương a1, a2, .., am (\(\frac{|S|}{2}\) \(< \ \)ai \(\leq \ \)|S|; i = 1 .. m).
Kết quả:
+ Ghi 1 dòng duy nhất là kết quả của bài toán.
Ví dụ:
Input | Output | Giải thích |
---|---|---|
abcdef 3 5 6 4 | fbdcea | Với k = 5 thì xâu “abcdef” thay đổi thành “aedcbf” Với k = 6 thì xâu “aedcbf” lại đổi thành “fbcdea” Với k = 4 thì xâu “fbcdea” lại đổi thành “fbdcea” |
Ràng buộc:
Có 50% số điểm tương ứng với số test có |S| \(\leq\) 103 và m \(\leq\) 103;
Có 50 % số điểm tương ứng với số test không có ràng buộc gì thêm.
Code tích cực |
---|
Trong 24h |
Trong 7 ngày |
|
Trong 30 ngày |
|
Thống kê |
---|
AC/Sub: 97887/180710 Pascal: 17121 C++: 130348 Python: 33199 Lượt xem/tải tests: 38904 |