
schedule(presentations)
schedlue = { }
for i = 1 to 2size(presentations) - 1
s = get-schedue(i, presentations)
if valid(s) ∧ size(s) > size(schedule)
schedule = s
return schedule


greed(p)
solution = { }
while choices-left(p)
solution ∪= best-choice(p)
return solution
schedule(p[])
schedule = { 1 }
last = 1
for next = 2 to p.size()
if p[last].end ≤ p[next].start
schedule ∪= { next }
last = next
return schedule


can be solved with a greedy algorithm.