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] Hoán vị cột - Giải mã

    Columnar Transposition - Giải mã

    Cho bản mã hoán vị cột và khóa, khôi phục bản rõ. Khó ở chỗ cột không đều: cột có chỉ số gốc nhỏ hơn số ô đầy ở hàng cuối sẽ dài hơn 1 ký tự.

    Thuật toán

    1. rows = ceil(n/cols); số ô đầy hàng cuối = n - (rows-1)*cols.
    2. Cột chỉ số < số ô đầy → dài rows, ngược lại rows-1.
    3. Theo thứ tự đọc khi mã hóa, cắt bản mã thành từng cột đặt vào bảng.
    4. Đọc theo hàng để khôi phục bản rõ.

    Ví dụ

    Khóa ZEBRA đảo ngược quá trình mã hóa.

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

      Dòng 1: khóa. Dòng 2: bản mã.

    • Ràng buộc đầu vào:

      1 ≤ độ dài khóa ≤ 26, bản mã ≤ 1000.

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

      Một dòng: bản rõ.

    Ví dụ:

    Đầu vào:

    ZEBRA
    ADEEESVADWRCRFEIOEL

    Đầu ra:

    IAECAODERDEWSFELRVE

    Giải thích:

    Cột không đều, khôi phục đúng bản rõ.

    Đang tải editor...