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

    solution

    Đề bài: [Hệ điều hành Unix] Synchronization - Barrier cho N tiến trình

    Barrier đồng bộ

    Barrier chặn các tiến trình cho tới khi đủ N tiến trình tới điểm hẹn rồi mới cho tất cả cùng đi tiếp; sau đó barrier reset để dùng cho vòng sau.

    Có một dòng các sự kiện: mỗi A nghĩa là một tiến trình tới (arrive) barrier. Khi số tiến trình đang chờ đạt N, barrier "mở": tất cả vượt qua, đếm released += N, và bộ đếm chờ reset về 0.

    In hai số: tổng số tiến trình đã được giải phóng và số tiến trình còn đang chờ ở barrier lúc kết thúc.

    Ví dụ

    N=3, dãy có 7 chữ A → mở 2 lần (6 tiến trình released), còn 1 chờ ⇒ 6 1.

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

      Dòng đầu: N. Dòng hai: một chuỗi gồm các ký tự A (số lần arrive).

    • Ràng buộc đầu vào:

      1 ≤ N ≤ 10^6, độ dài chuỗi ≤ 10^6 (chỉ gồm ký tự 'A').

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

      Hai số nguyên cách nhau dấu cách: số đã giải phóng, số còn chờ.

    Ví dụ:

    Đầu vào:

    3
    AAAAAAA
    

    Đầu ra:

    6 1

    Giải thích:

    7 lần tới, N=3: mở 2 lần (giải phóng 6), còn 1 đang chờ.

    Đang tải editor...