Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Automat & NN hình thức] Mô phỏng DFA chấp nhận chuỗi

    Cho một DFA đầy đủ và một chuỗi w. Hãy mô phỏng automat: bắt đầu ở trạng thái đầu, lần lượt đọc từng ký tự của w và chuyển trạng thái theo bảng chuyển. Chuỗi được chấp nhận nếu sau khi đọc hết w automat dừng ở một trạng thái chấp nhận.

    Bảng chữ cái gồm k ký tự đầu tiên: a, b, c, … (chỉ số j ứng với ký tự chr(97+j)).

    Ví dụ:

    Input:

    2 2
    1 0
    0 1
    0
    1 1
    aba
    

    Output:

    REJECT
    
    • Định dạng đầu vào:

      Khối mô tả DFA gồm:

      • Dòng 1: hai số n k — số trạng thái (đánh số 0..n-1) và kích thước bảng chữ cái.
      • n dòng tiếp theo: dòng i gồm k số, số thứ j là trạng thái đích khi ở trạng thái i đọc ký tự thứ j.
      • Dòng tiếp: trạng thái bắt đầu s.
      • Dòng cuối: f rồi f số — tập trạng thái chấp nhận (nếu f=0 chỉ có số 0). Sau khối DFA là một dòng chứa chuỗi w (dùng ký tự - để biểu diễn chuỗi rỗng).
    • Ràng buộc đầu vào:

      1 ≤ n ≤ 1000, 1 ≤ k ≤ 26, |w| ≤ 10^5. DFA đầy đủ (mọi ô bảng chuyển hợp lệ).

    • Định dạng đầu ra:

      In ACCEPT nếu chuỗi được chấp nhận, ngược lại in REJECT.

    Ví dụ:

    Đầu vào:

    2 2
    1 0
    0 1
    0
    1 1
    aba

    Đầu ra:

    REJECT

    Giải thích:

    DFA đếm chẵn/lẻ số ký tự `a` (trạng thái 1 = lẻ số `a`). Chuỗi `aba` có 2 ký tự `a` (chẵn) nên dừng ở trạng thái 0, không chấp nhận.

    Đang tải editor...