Cho DFA M=(Q,Σ,δ,q0,F). Xác định ngôn ngữ L(M) có rỗng hay không.
L(M)=∅ khi và chỉ khi không có trạng thái chấp nhận nào tới được (reachable) từ q0.
Thuật toán: BFS/DFS từ q0, kiểm tra có gặp trạng thái thuộc F không.
Ví dụ: nếu mọi đường đi từ q0 đều không chạm F thì ngôn ngữ rỗng.
Dòng 1: số nguyên Q — số trạng thái (đánh số 0..Q−1).
Dòng 2: các ký tự bảng chữ cái Σ, phân tách bởi dấu cách.
Dòng 3: trạng thái bắt đầu q0.
Dòng 4: số trạng thái chấp nhận F rồi danh sách các trạng thái chấp nhận (cùng dòng, cách nhau dấu cách).
Tiếp theo Q×∣Σ∣ dòng, mỗi dòng p a q nghĩa là δ(p,a)=q.
1≤Q≤1000, 1≤∣Σ∣≤26.
In EMPTY nếu L(M)=∅, ngược lại in NONEMPTY.
Ví dụ:
Đầu vào:
3
0 1
0
1 2
0 0 0
0 1 1
1 0 1
1 1 1
2 0 2
2 1 2
Đầu ra:
EMPTY
Giải thích:
Đang tải editor...