Bài 25.3. Kiểm duyệt Dữ liệu Tuyệt mật - [Độ khó: Khá]
Bài 25.3. Kiểm duyệt Dữ liệu Tuyệt mật - [Độ khó: Khá]
Trong một tổ chức tình báo, việc đảm bảo an toàn thông tin là tối quan trọng. Trước khi công bố một tài liệu, tất cả các từ khóa nhạy cảm phải được kiểm duyệt, thay thế bằng các ký tự che giấu. Bạn được giao nhiệm vụ viết một chương trình tự động tìm và che giấu các từ khóa tuyệt mật trong một văn bản lớn.
INPUT FORMAT
Dòng đầu tiên chứa chuỗi Văn bản gốc
(text), là tài liệu cần kiểm duyệt.
Dòng thứ hai chứa một số nguyên N
(1 <= N <= 10), là số lượng từ khóa tuyệt mật.
N
dòng tiếp theo, mỗi dòng chứa một Từ khóa
(keyword).
- Độ dài của
Văn bản gốc
lên đến 1000 ký tự. - Độ dài của mỗi
Từ khóa
lên đến 50 ký tự. - Tất cả các từ khóa và văn bản đều chỉ chứa chữ cái và số.
- Việc tìm kiếm từ khóa phải là không phân biệt chữ hoa/thường.
OUTPUT FORMAT
In ra Văn bản gốc
sau khi đã được kiểm duyệt.
Mỗi lần xuất hiện của một từ khóa (không phân biệt chữ hoa/thường) sẽ được thay thế bằng một chuỗi các ký tự *
có cùng độ dài với từ khóa đó.
Nếu các từ khóa trùng lặp hoặc chồng chéo, hãy thay thế theo thứ tự tìm thấy từ trái sang phải. (Ví dụ: "HACKER" và "ACK" trong "HACKERMAN", nếu "HACKER" được tìm thấy trước, nó sẽ bị che giấu).
Ví dụ:
Input:
Tài liệu này chứa thông tin nhạy cảm về DỰ ÁN BÍ MẬT và mã AN NINH.
2
bí mật
an ninh
Output:
Tài liệu này chứa thông tin nhạy cảm về DỰ ÁN ******** và mã *******.
Giải thích:
- Từ khóa "bí mật":
- Văn bản gốc:
DỰ ÁN BÍ MẬT
- "BÍ MẬT" (in hoa) được tìm thấy và khớp với "bí mật" (không phân biệt chữ hoa/thường).
- "BÍ MẬT" có 7 ký tự (không tính dấu cách), nên nó được thay thế bằng
*******
.
- Văn bản gốc:
- Từ khóa "an ninh":
- Văn bản gốc:
mã AN NINH
- "AN NINH" (in hoa) được tìm thấy và khớp với "an ninh".
- "AN NINH" có 7 ký tự (không tính dấu cách), nên nó được thay thế bằng
*******
.
- Văn bản gốc:
- Kết quả cuối cùng:
Tài liệu này chứa thông tin nhạy cảm về DỰ ÁN ******** và mã *******.
Ví dụ 2 (Edge Case - trùng lặp): Input:
The SECRET project involves a NEW secret AGENT.
1
secret
Output:
The ****** project involves a NEW ****** AGENT.
Giải thích:
- Từ khóa "secret" xuất hiện hai lần (một lần viết hoa, một lần viết thường). Cả hai đều được tìm thấy và thay thế bằng
******
.
Comments