trang chủ / bài tập / subreverse

Đảo Ngược Đoạn Con

Đề bài

Mô tả

Cho một xâu ký tự gồm n ký tự in hoa. Thực hiện m thao tác: mỗi thao tác gồm hai số nguyên a, b — đảo ngược đoạn con từ vị trí a đến b (tính từ 1) trong xâu.

Dữ liệu vào

  • Dòng 1: hai số nguyên nm.
  • Dòng 2: xâu ký tự ban đầu độ dài n, chỉ gồm chữ cái in hoa A–Z.
  • m dòng tiếp theo: mỗi dòng gồm hai số nguyên ab mô tả một thao tác.

Dữ liệu ra

In ra xâu ký tự sau khi thực hiện xong tất cả các thao tác.

Ràng buộc

  • 1n,m2·105
  • 1abn

Ví dụ

Input Output Giải thích
7 2
AYBABTU
3 4
4 7
AYAUTBB Lần 1: đảo ngược vị trí 3–4 ("BA" → "AB") → "AYABBTU". Lần 2: đảo ngược vị trí 4–7 ("BBTU" → "UTBB") → "AYAUTBB".
5 3
ABCDE
2 4
1 3
2 5
CEBAD Lần 1: đảo ngược [2,4] → "ADCBE". Lần 2: đảo ngược [1,3] → "CDABE". Lần 3: đảo ngược [2,5] → "CEBAD".

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0