Zoom
An empty Room
Size > the size in the request Price <= the price in the price
If there are more than one Room satisfying these three conditions below,
you should choose the Room with lowest price.
If there are more than one Room satisfying these four conditions below, you should choose the last Room. For example: if Room 003, 005, and 007 satisfy four conditions below, the answer is Room 007.
o If the best Room is found, perform the renting action: update the status in the dataList from 0 to 1.
The expected output used to test your code are as follows:
Data List: (001,0,10,200) (003,0,3,70) (004,0,4,100) (005,0,3,70)Request: (1,100) (12,500) (4,50) (4,400)
Data List: (001,0,10,200) (003,0,3,70) (004,0,4,100) (005,1,3,70)
Request: (12,500) (4,50) (4,400)
o The request (1,100) will be removed from the requestQueue, and then this request
will be processed.
Explaination:
o The request is for renting a room for one person (size=1), with the available money being 100 (price-100).
o The system finds two suitable rooms (empty (status=0), priced <100, with the lowest price being 70), which are 003 and 005.
o The system then choose room 005 because it appears after room 003 in the dataList.Finally, the status of this room will be updated to status=1 to indicate that it is now used.
c. f3(): 2.5 marks - Serve all requests in the requestQueue
You should perform the pair of operations deQueue() and rent() for all elements in the requestQueue.
2
The expected output used to test your code are as follows:
Data List: (001,0,10,200) (003,0,3,70) (004,0,4,100) (005,0,3,70)Request: (1,100) (12,500) (4,50) (4,400)
Data List: (001,0,10,200) (003,0,3,70) (004,1,4,100) (005,1,3,70)Request: Empty
+ 100%
Close