Tiền Tố Chung Dài Nhất

Xem dưới dạng PDF

Gửi bài giải


Điểm: 10
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
đầu vào: stdin
Đầu ra: stdout

Tác giả:
Kiểu bài tập

Bộ lọc từ khóa thông minh của công ty bảo mật thông tin cần tìm tiền tố chung dài nhất giữa một từ truy vấn \(S\) với bất kỳ từ nào có sẵn trong cơ sở dữ liệu từ vựng gồm \(N\) từ.

Hãy viết chương trình xử lý nhanh các yêu cầu tìm tiền tố chung dài nhất.

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

  • Dòng đầu chứa hai số nguyên dương \(N\) và \(Q\) (\(1 \le N, Q \le 10^5\)) — số lượng từ trong cơ sở dữ liệu và số lượng câu hỏi.
  • \(N\) dòng tiếp theo, mỗi dòng chứa một từ trong cơ sở dữ liệu.
  • \(Q\) dòng tiếp theo, mỗi dòng chứa một từ truy vấn \(S\).

Định dạng đầu ra

  • Với mỗi từ truy vấn, in ra độ dài của tiền tố chung dài nhất tìm được với một từ trong tập từ vựng.

Ví dụ

Input:

3 3
apple
apricot
banana
apply
orange
band

Output:

4
0
3

Giải thích

  • apply khớp dài nhất với apple -> appl (độ dài 4).
  • orange không khớp tiền tố với từ nào -> độ dài 0.
  • band khớp với banana -> ban (độ dài 3).

Ràng buộc

  • 30% số điểm ứng với \(N, Q \le 1000\) và tổng độ dài xâu \(\le 5000\).
  • 70% số điểm còn lại có tổng độ dài các xâu không vượt quá \(10^6\). Các ký tự chỉ chứa chữ cái tiếng Anh in thường.

Nhận xét

Không có ý kiến tại thời điểm này.