Giải mã (THTB Thanh Khê 2024)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 500 Thời gian: 1.0s Bộ nhớ: 500M Input: GIAIMA.INP Output: GIAIMA.OUT

Trong các giờ giải lao, Nam và Lan rất hay nhắn tin cho nhau bằng cách viết tin nhắn vào một mẫu giấy và nhờ các bạn chuyển giúp mẫu giấy đó đến người nhận. Tất nhiên cách truyền tin này là không bảo mật do các bạn khác có thể dễ dàng đọc được nội dung tin nhắn. Nam rất thông minh, cậu đã nghĩ ra một cách mã hóa tin nhắn. Nam chọn một số nguyên \(k\) và thay mỗi chữ cái trong tin nhắn bằng chữ cái đứng sau chữ đó \(k\) vị trí ở bảng chữ cái, nếu là ký tự trắng thì giữ nguyên.
Trong các tin nhắn này ta chỉ quan tâm đến các chữ cái Tiếng Anh in hoa từ A đến Z và có thể coi bảng chữ cái có tính chất tuần hoàn, chữ đứng sau Z một vị trí là A, sau Z hai vị trí là B,…

Ví dụ với giá trị \(k = 2\) và nội dung tin nhắn đã mã hóa là "CDEZAB" thì nội dung tin nhắn gốc là "ABCXYZ". Lan biết giá trị \(k\) nhưng việc giải mã đối với Lan tốn rất nhiều thời gian.

Yêu cầu: Với giá trị \(k\) và nội dung tin nhắn đã mã hóa. Hãy viết chương trình giúp Lan giải mã tin nhắn của Nam.

Input

  • Dòng thứ nhất chứa giá trị \(k\) (\(1 \le k \le 26\));
  • Dòng thứ hai chứa một xâu khác rỗng gồm các ký tự trắng và các chữ cái Tiếng Anh in hoa là tin nhắn đã mã hóa. Độ dài xâu không quá \(100\) ký tự.

Output

  • Ghi gồm một dòng là tin nhắn sau khi được giải mã.

Example

Test 1

Input
2
FK CP EJG
Output
DI AN CHE
Note

Scoring

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.