trang chủ / đề bài / daklak_ts10_23_cau3

Giải mã mật thư

Đề bài

Mô tả

Trong hoạt động Hội trại kỷ niệm tháng Thanh niên, Đoàn trường tổ chức trò chơi lớn đó là "Giải mã mật thư". Bạn Nam nhận được một mật thư từ ban tổ chức với nội dung là một xâu kí tự đã được mã hóa theo quy luật. Xâu kí tự này gồm các cặp theo thứ tự kí tự chữ cái tiếng Anh viết hoa và kí tự số liên tiếp nhau, mật thư được giải mã theo quy luật dịch chuyển vòng tròn chữ cái: các chữ cái A,B,C,D,…,X,Y,Z được xếp trên một vòng tròn theo thứ tự đó, sau Z lại quay về A.

Mỗi cặp (chữ cái, chữ số d) được giải mã thành chữ cái nhận được khi dịch chuyển chữ cái đó thêm d vị trí theo chiều vòng tròn trên (ví dụ Z dịch chuyển thêm 1 vị trí được A, Y dịch chuyển thêm 3 vị trí được B).

Ví dụ: Xâu kí tự trong mật thư là R2F3M1 được giải mã theo quy luật: kí tự R dịch chuyển thêm 2 vị trí được kí tự T, kí tự F dịch chuyển thêm 3 vị trí được kí tự I, kí tự M dịch chuyển thêm 1 vị trí được kí tự N. Vậy dòng văn bản R2F3M1 sau khi giải mã có kết quả là TIN.

Yêu cầu: Em hãy giúp bạn Nam giải mã nội dung mật thư mà ban tổ chức đã cho.

Dữ liệu vào

Một dòng chứa một xâu S là nội dung mật thư, có độ dài tối đa là 106 kí tự, gồm các cặp theo thứ tự là một kí tự chữ cái tiếng Anh viết hoa (thuộc các kí tự từ A đến Z) và một kí tự số (thuộc các kí tự từ 0 đến 9) liên tiếp nhau.

Dữ liệu ra

In ra xâu kí tự đã được giải mã.

Ràng buộc

  • 2≤|S|≤106, |S| chẵn.
  • Các kí tự ở vị trí lẻ (thứ 1,3,5,…) của S là chữ cái từ A đến Z, các kí tự ở vị trí chẵn là chữ số từ 0 đến 9.

Ví dụ

Input Output Giải thích
S1F2Y2M1E3L2I0A4K3 THANHNIEN S1 → T, F2 → H, Y2 → A (Y → Z → A), M1 → N, E3 → H, L2 → N, I0 → I, A4 → E, K3 → N.
R2F3M1 TIN Ví dụ trong đề: R2 → T, F3 → I, M1 → N.
Z1Y3A0 ABA Ví dụ thêm. Z1 → A (sau Z quay về A), Y3 → B (Y → Z → A → B), A0 → A (dịch chuyển 0 vị trí giữ nguyên chữ cái).

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0