Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
ZSNR1_Z6 - Żetony |
Jaś ułożył w ciągu n żetonów. Każdy z nich posiada dwie strony: awers i rewers. Następnie Jaś wykonuje pewne operacje na żetonach: wybiera spójny przedział leżących obok siebie żetonów i każdy z nich przewraca na odwrtoną stronę (z awersu na rewers, a z rewersu na awers). Zastanawiamy się, jak będą wyglądały wszystkie żetony po wszystkich przełożeniach.
Wejście
Pierwszy wiersz wejścia zawiera dwie liczby całkowite n, m (1 ≤ n, m ≤ 300000), oznaczające odpowiednio liczbę żetonów oraz liczbę operacji, jakie wykona Jaś. Drugi wiersz wejścia zawiera napis złożony z n liter: A oznacza, że żeton ułożony jest na awersie, R – na rewersie. Kolejnych m wierszy opisuje operacje Jasia. Każdy wiersz zawiera dwie liczby całkowite a i b (1 ≤ a ≤ b ≤ n), oznaczające, że Jaś przekłada wszystkie żetony od a-tego do b-tego włącznie.
Wyjście
Pierwszy i jedyny wiersz wyjścia powinien zawierać ciąg złożony z n liter, oznaczający żetony po dokonaniu wszystkich operacji.
Example
Input:
8 2
ARAARARR
1 3
3 6
Output:
RAARARRR
Wyjaśnienie do przykładu:
W pierwszej operacji zamieniamy żetony od 1 do 3 dające ciąg: RARARARR, w drugiej od 3 do 6 dające ciąg: RAARARRR.
Dodane przez: | Marcin Kasprowicz |
Data dodania: | 2017-10-06 |
Limit czasu wykonania programu: | 1s-2s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM32-GCC MAWK BC C-CLANG NCSHARP CPP14-CLANG COBOL COFFEE D-CLANG D-DMD ELIXIR FANTOM FORTH GOSU GRV JS-MONKEY JULIA KTLN NIM OBJC OBJC-CLANG OCT PICO PROLOG R RACKET RUST SCM qobi CHICKEN SQLITE SWIFT UNLAMBDA VB.NET |
ukryj komentarze
2022-09-30 16:03:30
jakiego algorytmu użyć w tym zadaniu? |
|
2019-09-28 20:33:28 Sebastian Toton
Super zadanko :/ |