Decode string #1

Xem PDF

Điểm: 100 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Tìm hiểu về mã hóa xâu, An có ý tưởng thay vì viết câu văn, bạn ấy viết mật mã ra giấy để gửi thư cho T.
Mặt mã này có một quy tắc rất đơn giản: 1 -> a, 2 -> b,..., 26 -> z, 27 -> ' '(dấu cách)
Nhưng T sau khi nhận được đọc thư xong không hiểu gì, bạn hãy giúp T nhé!

Input

  • Dòng thứ nhất chứa \(n\) là độ dài xâu \(S\) \((0 < n < 225)\). Dòng thứ hai là xâu \(S\) được viết dưới dạng các số, mỗi số cách 1 cách.

Output

  • Xâu \(S\) sau khi giải mã

Example

Test 1
Input
19
18 5 22 5 18 19 5 27 20 8 5 27 3 9 16 8 5 18 19
Output
reverse the ciphers

Bình luận


  • 0
    minhskibidi    10:23 p.m. 12 Tháng 10, 2024 chỉnh sửa 5
    Hint

    Dành cho những ai không muốn code dài dòng:

    • Ở đây ta thấy mỗi chữ a, b, c, ..., y, z của An sẽ được mã hóa bằng những con số: 1, 2, 3, ..., 25, 26 (dấu cách sẽ để ở phần dưới)
    • Ta sẽ sử dụng bảng ascii, mỗi chữ cái sẽ được mã hóa bằng mỗi con số nhất định, chữ "a" sẽ có số là 97, "b" có số là 98.
    • Làm phép tính đơn giản, ta sẽ dễ dàng tính được từ số mã hóa của An sang số mã hóa của bảng mã ascii:
      97 - 1 = 96 (ở đây ta lấy chữ cái "a" để tính khoảng cách từ ascii sang mã hóa của An)
    • Sử dụng dạng dữ liệu static_case để chuyển chữ số ascii sang chữ cái
    code
    C++
    int n;
    cin >> n;
    
    for(int i = 0; i < n; i++) {
        int encoded;
        cin >> encoded;
    
        if(encoded < 27) cout << static_cast<char>(96 + encoded);
            else cout << " ";
    }
    
    return 0;