1def organize(cars, students):
2 def assign_students(seating, index):
3 if len(seating) == len(students) and all(student.is_comfy() for student in seating):
4 return True
5
6 for student in students[index:]:
7 if student not in seating:
8 for car in cars:
9 try:
10 car.add_student(student)
11 seating.append(student)
12 if assign_students(seating, index + 1):
13 return True
14 car.remove_student(student)
15 seating.remove(student)
16 except EnvironmentError:
17 continue
18 return False
19
20 return assign_students([], 0)
.....
----------------------------------------------------------------------
Ran 5 tests in 0.001s
OK
f | 1 | def organize(cars, students): | f | 1 | def organize(cars, students): |
2 | def assign_students(seating, index): | 2 | def assign_students(seating, index): | ||
t | 3 | for student in seating: | t | ||
4 | print(student, student.car, student.is_comfy() ) | ||||
5 | if len(seating) == len(students) and all(student.is_comfy() for student in seating): | 3 | if len(seating) == len(students) and all(student.is_comfy() for student in seating): | ||
6 | return True | 4 | return True | ||
7 | 5 | ||||
8 | for student in students[index:]: | 6 | for student in students[index:]: | ||
9 | if student not in seating: | 7 | if student not in seating: | ||
10 | for car in cars: | 8 | for car in cars: | ||
11 | try: | 9 | try: | ||
12 | car.add_student(student) | 10 | car.add_student(student) | ||
13 | seating.append(student) | 11 | seating.append(student) | ||
14 | if assign_students(seating, index + 1): | 12 | if assign_students(seating, index + 1): | ||
15 | return True | 13 | return True | ||
16 | car.remove_student(student) | 14 | car.remove_student(student) | ||
17 | seating.remove(student) | 15 | seating.remove(student) | ||
18 | except EnvironmentError: | 16 | except EnvironmentError: | ||
19 | continue | 17 | continue | ||
20 | return False | 18 | return False | ||
21 | 19 | ||||
22 | return assign_students([], 0) | 20 | return assign_students([], 0) |
Legends | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
|