[DHBB22 - CHMD - 10] Bài 3: Từ điển

Xem dạng PDF

Gửi bài giải

Điểm: 30,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 1G
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Pascal, PyPy, Python, Scratch, TEXT

Trong trường hợp đề bài hiển thị không chính xác, bạn có thể tải đề bài tại đây: Đề bài

Cho một từ điển gồm ~N~ từ. Một thuật toán cổ điển để tìm kiếm một từ ~W~ trong từ điển bằng cách thực hiện so sánh từ ~W~ với từng từ trong từ điển bắt đầu từ từ đầu tiên đến hết. Mỗi khi so sánh hai từ, các ký tự lần lượt được so sánh bắt đầu từ vị trí 1 cho đến khi phát hiện ra ký tự khác nhau hoặc cho đến khi phát hiện ra sự kết thúc của một trong hai từ (trường hợp này xảy ra khi một từ là phần đầu của từ kia). Khi tìm thấy từ ~W~ thì kết thúc việc tìm kiếm. Phân tích thuật toán ta thấy thao tác để tìm kiếm được từ ~W~ trong từ điển bằng số lượng từ cần phải so sánh với ~W~ cộng thêm tổng độ dài của các tiền tố chung dài nhất của ~W~ với các từ mà nó so sánh.

Yêu cầu: Viết chương trình cho trước từ ~W~ tính toán số lượng các thao tác thực hiện để tìm kiếm được từ ~W~ trong từ điển. Có tất cả ~Q~ câu hỏi như vậy.

Input

  • Dòng đầu tiên ghi số nguyên dương ~N~ (~1 \le N \le 30000~) là số lượng từ trong từ điển.
  • ~N~ dòng tiếp theo, mỗi dòng ghi một từ trong từ điển. Các từ được liệt kê theo thứ tự mà thuật toán so sánh thực hiện. Tất cả các từ trong từ điển là phân biệt.
  • Dòng tiếp theo ghi ~Q~ là số lượng truy vấn cần phải thực hiện (~1 \le Q \le 30000~).
  • ~Q~ dòng cuối mỗi dòng ghi một từ cần phải tìm kiếm.
  • Tất cả các từ chỉ gồm các chữ latin thường có độ dài không vượt quá 30.

Output

  • ~Q~ dòng, mỗi dòng gồm một số nguyên là số thao tác cần thực hiện cho mỗi câu truy vấn.

Sample Input 1

5
abcd
badf
aad
bcf
abdxe
4
abc
aad
bc
bad

Sample Output 1

11
7
8
9

Bình luận

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



  • 0
    ra2  đã bình luận lúc 29, Tháng 7, 2025, 3:14

    Có thể tồn tại nhiều từ giống nhau trong từ điển. Việc tìm kiếm vẫn làm như mô tả (nếu có nhiều từ giống nhau, thì phải so sánh từ truy vấn với từ đó nhiều lần nếu từ đó khác từ truy vấn).