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

Cắt và Dán

Đề 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 — cắt đoạn con từ vị trí a đến b (tính từ 1) ra khỏi xâu và dán vào cuối 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 5
3 5
AYABTUB Lần 1: cắt "BAB" (vị trí 3–5) ra khỏi "AYBABTU", xâu thành "AYTU" + "BAB" = "AYTUBAB". Lần 2: cắt "TUB" (vị trí 3–5) ra khỏi "AYTUBAB", xâu thành "AY" + "AB" + "TUB" = "AYABTUB".
5 2
ABCDE
2 4
1 3
CDAEB Lần 1: cắt "BCD" (vị trí 2–4), xâu thành "AE" + "BCD" = "AEBCD". Lần 2: cắt "AEB" (vị trí 1–3), xâu thành "CD" + "AEB" = "CDAEB".

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