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] open() liên tiếp cấp fd nào

    open() liên tiếp cấp fd nào

    Mỗi lần open() thành công, kernel cấp fd nhỏ nhất còn trống rồi đánh dấu nó đã dùng.

    Cho tập fd ban đầu đang mở và số lần open() là k, hãy in dãy fd được cấp lần lượt.

    Ví dụ I/O: đang mở 0 1 2, gọi open 2 lần → 3 4.

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

      Dòng 1: các fd đang mở (có thể trống). Dòng 2: số nguyên k (số lần open).

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

      0 ≤ k ≤ 50.

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

      In k fd được cấp lần lượt, cách nhau bởi dấu cách. Nếu k = 0, in dòng trống.

    Ví dụ:

    Đầu vào:

    0 1 2
    2
    

    Đầu ra:

    3 4

    Giải thích:

    open lần 1 cấp 3, lần 2 cấp 4 (đều là fd trống nhỏ nhất).

    Đang tải editor...