Cài đặt bước kiểm tra một yêu cầu (Request) của tiến trình trong thuật toán Banker.
Cho m loại tài nguyên: vector Need (nhu cầu còn lại của tiến trình), Available (đang rảnh) và Request (đang yêu cầu).
Quy tắc (theo thứ tự):
j mà Request[j] > Need[j] → tiến trình đòi quá nhu cầu khai báo → in ERROR.j mà Request[j] > Available[j] → chưa đủ tài nguyên, phải chờ → in WAIT.OK.Thuật toán: kiểm tra điều kiện 1 trước, rồi điều kiện 2, rồi mặc định.
Ví dụ: m=3, Need 7 4 3, Available 3 3 2, Request 1 0 2. Request ≤ Need và ≤ Available → in OK.
Dòng 1: m. Dòng 2: m số Need. Dòng 3: m số Available. Dòng 4: m số Request.
1 ≤ m ≤ 100; 0 ≤ giá trị ≤ 1000000.
Một chuỗi: ERROR, WAIT, hoặc OK.
Ví dụ:
Đầu vào:
3
7 4 3
3 3 2
1 0 2
Đầu ra:
OK
Giải thích:
Đang tải editor...