Một khách sạn có n phòng đánh số từ 1 đến n, mỗi phòng có hai
giường.
Khi một đoàn khách đến, họ sẽ được nhân viên lễ tân sắp xếp
theo cách như sau: Trong các phòng còn trống, 1 cặp (2 khách) được xếp vào
phòng có thứ tự nhỏ nhất. Nếu số khách trong một đoàn là lẻ thì người cuối cùng
sẽ được xếp vào phòng trống có số thứ tự nhỏ nhất (trong các phòng còn lại). Nếu
không còn đủ phòng thì mỗi khách sẽ được xếp vào
phòng có 1 khách đoàn khác đang sử dụng với số thứ tự nhỏ nhất.
Lúc đầu, khách sạn không có khách (trống). Số khách của mỗi đoàn được biết trước. Viết chương trình xác định số khách trong từng phòng sau khi sắp xếp xong vị khách cuối cùng.
Lúc đầu, khách sạn không có khách (trống). Số khách của mỗi đoàn được biết trước. Viết chương trình xác định số khách trong từng phòng sau khi sắp xếp xong vị khách cuối cùng.
Dữ liệu vào: Từ tệp văn bản ROOMS.INP
+ Dòng đầu chứa 2 số nguyên dương n, k (1 <= n <=100);
n là số phòng khách sạn, k là số đoàn khách.
+ K dòng tiếp theo, dòng thứ i+1 chứa 1 số nguyên dương là số
khách trong đoàn i, i=1 … k.
Tổng số khách (trong tất cả các đoàn) nhỏ hơn hoặc bằng số
giường trong khách sạn.
Dữ liệu ra: ghi vào tệp văn bản ROOMS.OUT
Chứa n dòng, dòng thứ i là số khách xếp trong phòng đó sau
khi đã xếp vị khách cuối cùng.
Ví dụ:
ROOM.INP
|
ROOM.OUT
|
5 4
3
1
1
4
|
2
2
2
1
2
|
Không có nhận xét nào:
Đăng nhận xét