Hướng dẫn giải của Giải mã

Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người làm lời giải.


Nộp code mẫu trước khi tự giải được bài tập là một hành vi có thể bị ban.

Cách 1:

Gọi ~ST~ là xâu đã được mã hóa, ~M~ là số dòng của mảng sau khi phân phối xâu ~ST~ vào mảng.

~N~ là độ dài của khóa ~K~ và ~t~ độ dài của ~ST~, tính ~M=\frac{N}{t}~.

Phân phối xâu ~ST~ vào mảng ~A~ có ~M~ dòng, ~N~ cột theo thứ tự các cột được mô tả trong khóa ~K~.

Duyệt mảng ~A~ theo thứ tự từ trái qua phải, từ trên xuống dưới sẽ thu được kết quả.

Cách 2:

Nhận thấy nếu ta cắt chuỗi từ trái sang phải thành ~M~ chuỗi con mỗi chuỗi con có đúng ~N~ kí tự. Viết mỗi chuỗi con trên một hàng ta có một bảng gồm ~M~ hàng ~N~ cột kí tự thì trong bảng mới kí tự cột ~j~, hàng ~i~ có vị trí trong chuỗi cũ là ~j+N(i-1)~. Từ đó giải bài toán bằng cách duyệt xâu ~ST~ để tìm xâu ban đầu.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.

Hỗ Trợ CLAOJ
QR Code