Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [An toàn thông tin] Caesar trên bảng chữ cái mở rộng 36 ký tự

    Mật mã Caesar có thể tổng quát hóa cho bảng ký tự có kích thước bất kỳ nnn, với công thức C=(P+k) mod nC = (P+k) \bmod nC=(P+k)modn. Xét bảng ký tự mở rộng gồm 36 ký tự: 26 chữ in hoa A-Z được đánh chỉ số 000 đến 252525 theo thứ tự bảng chữ cái, tiếp theo là 10 chữ số '0'-'9' được đánh chỉ số 262626 đến 353535 theo giá trị số.

    Cho xâu SSS chỉ gồm các ký tự thuộc bảng 36 ký tự trên (chữ in hoa A-Z và chữ số 0-9) và khóa nguyên không âm kkk, hãy mã hóa SSS theo công thức C=(P+k) mod 36C = (P+k) \bmod 36C=(P+k)mod36.

    Ví dụ: với S=S = S= "ABC123" và k=1k=1k=1: A(0)→B(1), B(1)→C(2), C(2)→D(3), '1'(27)→'2'(28), '2'(28)→'3'(29), '3'(29)→'4'(30), kết quả là "BCD234".

    • Định dạng đầu vào:

      Dòng 1: xâu SSS chỉ gồm các chữ in hoa A-Z và/hoặc chữ số 0-9, độ dài từ 000 đến 100010001000 (có thể là xâu rỗng). Dòng 2: số nguyên kkk (0≤k≤1090 \le k \le 10^90≤k≤109).

    • Định dạng đầu ra:

      In ra một dòng duy nhất là bản mã theo bảng 36 ký tự (cùng độ dài với SSS).

    Ví dụ:

    Đầu vào:

    ABC123
    1

    Đầu ra:

    BCD234
    

    Đầu vào:

    Z9
    1

    Đầu ra:

    0A
    

    Đang tải editor...