Mô phỏng Round Robin (RR) với quantum (lượng tử thời gian) q cho trước và tính thời gian chờ trung bình.
Hàng đợi sẵn sàng là FIFO. Quy tắc nạp hàng đợi (để output xác định):
arrival ≤ 0 (theo thứ tự (arrival, ID)).run = min(q, remaining), time += run. Sau đó nạp mọi tiến trình mới có arrival ≤ time (chưa vào hàng đợi) vào cuối hàng đợi, rồi mới đưa tiến trình vừa chạy (nếu còn remaining > 0) vào cuối hàng đợi.time tới arrival sớm nhất.Thuật toán: lặp lấy đầu hàng đợi, chạy tối đa q đơn vị, cập nhật remaining, nạp tiến trình mới, đẩy lại nếu chưa xong; ghi completion khi xong. Cuối cùng waiting[i] = (completion[i]-arrival[i]) - burst[i], in trung bình.
Ví dụ: q=2, (0,5),(1,3),(2,1). Thời gian chờ TB = 3.33.
Dòng đầu: hai số n q. n dòng tiếp: arrival burst. ID từ 0.
1 ≤ n ≤ 1000; 1 ≤ q ≤ 10000; 0 ≤ arrival ≤ 10000; 1 ≤ burst ≤ 10000.
Thời gian chờ trung bình, làm tròn 2 chữ số ({:.2f}).
Ví dụ:
Đầu vào:
3 2
0 5
1 3
2 1
Đầu ra:
3.33
Giải thích:
Đang tải editor...