Mã hóa thông điệp
Đề bài
Mô tả
Một thông điệp là một dãy số nguyên . Việc mã hóa sử dụng một khóa là dãy số nguyên (với ). Mọi số trong thông điệp và trong khóa đều thuộc đoạn từ đến , và mọi phép tính đều được thực hiện theo modulo .
Quá trình mã hóa gồm bước. Ở bước thứ (với chạy từ đến ), ta cộng vào mỗi số (là giá trị hiện tại sau các bước trước) lần lượt các số . Tức là với mọi từ đến , giá trị được cộng thêm (theo modulo ).
Kết quả mã hóa là dãy sau khi thực hiện đủ bước.
Dữ liệu vào
- Dòng đầu chứa ba số nguyên , , .
- Dòng thứ hai chứa số nguyên (), là thông điệp ban đầu.
- Dòng thứ ba chứa số nguyên (), là khóa mã hóa.
Dữ liệu ra
In ra số nguyên cách nhau bởi dấu cách, là kết quả mã hóa thông điệp.
Ràng buộc
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 4 3 2 1 1 1 1 1 1 1 |
0 1 1 0 | Có bước. Sau bước : (tính theo modulo ). Sau bước : . |
| 3 1 5 1 2 3 4 |
0 1 2 | nên có bước, mỗi bước cộng vào một phần tử: . |
Bình luận