Cho một ô-tô-mát hữu hạn đơn định (DFA) M=(Q,Σ,δ,q0,F) và một chuỗi w. Hãy xác định M có chấp nhận w hay không.
DFA chấp nhận w nếu khi xuất phát từ q0 và đọc lần lượt các ký tự của w theo δ, trạng thái cuối nằm trong tập chấp nhận F. Nếu gặp bước chuyển không xác định thì coi như không chấp nhận.
Ví dụ: DFA chấp nhận chuỗi nhị phân có số chữ số 1 chẵn; với w=11 kết quả là YES.
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.
Dòng cuối: chuỗi w cần kiểm tra (có thể rỗng — khi đó là dòng trống).
1≤Q≤100, 1≤∣Σ∣≤26, 0≤∣w∣≤105.
In YES nếu DFA chấp nhận w, ngược lại in NO.
Ví dụ:
Đầu vào:
2
0 1
0
1 0
0 0 0
0 1 1
1 0 1
1 1 0
11
Đầu ra:
YES
Giải thích:
Đang tải editor...