Một trình biên dịch cần kiểm tra tính hợp lệ về mặt từ vựng của các định danh (identifier). Theo đặc tả ngôn ngữ, một chuỗi s là định danh hợp lệ khi và chỉ khi thỏa mãn đồng thời:
_.Cho danh sách k từ khóa dành riêng và n chuỗi cần kiểm tra, với mỗi chuỗi hãy cho biết nó có phải định danh hợp lệ hay không.
Ví dụ: nếu từ khóa dành riêng là if, else, while thì if bị loại (trùng từ khóa), IF vẫn hợp lệ (khác if vì phân biệt hoa/thường), còn 1abc bị loại vì bắt đầu bằng chữ số.
Dòng 1: số nguyên k (0≤k≤100) — số từ khóa dành riêng. Dòng 2: k từ khóa cách nhau bởi dấu cách (nếu k=0 thì đây là một dòng rỗng, vẫn phải có mặt trong input). Dòng 3: số nguyên n (1≤n≤1000) — số chuỗi cần kiểm tra. n dòng tiếp theo, mỗi dòng là một chuỗi s cần kiểm tra (chỉ gồm ký tự ASCII hiển thị được, không chứa khoảng trắng; s có thể là dòng rỗng, khi đó ∣s∣=0).
In ra n dòng, dòng thứ i là YES nếu chuỗi thứ i là định danh hợp lệ, ngược lại in NO.
Ví dụ:
Đầu vào:
3
if else while
4
if
IF
while1
_
Đầu ra:
NO
YES
YES
YES
Đầu vào:
0
5
abc
_x9
1abc
abcdefghijklmnopqrstuvwxyz012345
abcdefghijklmnopqrstuvwxyz0123456
Đầu ra:
YES
YES
NO
YES
NO
Đang tải editor...