consolidation(towns) schools = towns for i = 2towns.size()- 1 to 0 do s = subset(i, towns) if covers(s, towns) and s.size() < schools.size() schools = s return s
consolidation(towns)
schools = { }
covered = { }
for i = 1 to towns.size()
schools U= { towns[i] }
covered U= { towns[i].neighbors }
if covered = towns
break
return schools