-
Notifications
You must be signed in to change notification settings - Fork 1
owate/MovieTheaterSeatingProblem
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
# MovieTheaterSeatingProblem Problem: -Implement an Algorithm to assign movie theater seats to satisfy reservation requests. Assumptions: -10 rows x 20 seats [ SCREEN ] A SSSSSSSSSSSS B SSSSSSSSSSSS C SSSSSSSSSSSS . SSSSSSSSSSSS . SSSSSSSSSSSS J SSSSSSSSSSSS 1 ... 20 Input: - A file consisting of 2 columns: 1st column, reservation number; 2nd column, seat requests - e.g. T001 4 T002 6 T003 1 ... Output: - A file in which each line contains a reservation number and the seat names assigned for that reservation - e.g. T001 A4, A5, A6, A7 T002 G2, G3, G4, G5, G6, G7 T003 H9 ... My Solution: This problem seemed to be a variation of a backtracking problem. Programming Language Used: Python Directories and Files: + dir ; - file +bin -executable +SeatingAlg -main.py +lib -Theater.py +Tests My Assumptions (in addition to the above assumptions) : -People in a group prefer to seat together - highest priority -The further away from the screen, the better the movie experience - next priority -Number of reservation requests is less than number of seats available in the theater Algorithm For Asssigning Seats: Keep record of the number of seats available - For each reservation: -check for the latest row (furthest from the screen) that can take entire group -if row to fit all is found: -find the first empty seat in the row - assign seat, fill up consecutively - decrease the number of available seats in row respectively -else: -do: -divide group by 2 -check for latest rows to fit subgroups -until rows to fit subgroups are found -find nearest empty seat and fill up rows consecutively -decrease the number of available seats in row respectively Building The Solutions -Fork and Clone this Repository -To run on the command line, type: python __main__.py sample-input.txt -It is preferable to type out the full path for __main__.py and the input file
About
No description, website, or topics provided.
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published