Cho DFA M=(Q,Σ,δ,q0,F) và số nguyên n. Hãy đếm số chuỗi w∈Σn (độ dài đúng n) mà M chấp nhận.
Hình thức: tính {w∈Σn:δ^(q0,w)∈F}. Dùng quy hoạch động dpk[s] = số chuỗi độ dài k đưa DFA từ q0 tới trạng thái s.
Ví dụ: DFA chấp nhận chuỗi có số 1 chẵn, với n=2 có 2 chuỗi (00, 11).
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: số nguyên n.
1≤Q≤100, 1≤∣Σ∣≤26, 0≤n≤1000. Kết quả có thể rất lớn.
In một số nguyên: số chuỗi độ dài n được chấp nhận.
Ví dụ:
Đầu vào:
2
0 1
0
1 0
0 0 0
0 1 1
1 0 1
1 1 0
2
Đầu ra:
2
Giải thích:
Đang tải editor...