Một trình biên dịch giả định quy định một xâu s thoả cú pháp định danh (identifier) nếu:
_;_.Trình biên dịch giả định còn có thêm 2 ràng buộc thực tế:
if, else, while, for, return, int, float, void, break, continue. Nếu s trùng khớp chính xác (phân biệt hoa/thường) với một từ khóa, s không được coi là định danh dù thoả cú pháp ở trên.Với mỗi xâu s cho trước, hãy phân loại theo đúng 1 trong 4 nhãn sau (kiểm tra theo thứ tự):
KEYWORD nếu s trùng một từ khóa;INVALID nếu s không thoả cú pháp định danh (kể cả xâu rỗng);TOO_LONG nếu s thoả cú pháp định danh và có độ dài >31;VALID nếu s thoả cú pháp định danh và có độ dài ≤31.Ví dụ: Input
4
if
_abc123
1bad
abc-def
Output
KEYWORD
VALID
INVALID
INVALID
Dòng đầu là số nguyên n (0≤n≤1000). n dòng tiếp theo, mỗi dòng là một xâu s gồm các ký tự in được (có thể là xâu rỗng), không chứa khoảng trắng, độ dài không vượt quá 200.
In ra đúng n dòng, mỗi dòng là một trong 4 nhãn KEYWORD, INVALID, TOO_LONG, VALID, tương ứng với xâu ở dòng đầu vào cùng thứ tự.
Ví dụ:
Đầu vào:
1
_
Đầu ra:
VALID
Đầu vào:
6
if
_abc123
1bad
abc-def
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
Đầu ra:
KEYWORD
VALID
INVALID
INVALID
TOO_LONG
INVALID
Đang tải editor...