Ajuda em trabalho de faculdade

Quem diria que eu iria pedir ajuda assim. Mas não, não quero código pronto e sim alguma dica (teórica mesmo) para poder solucionar meu problema. O exercício está aqui: http://www.ime.usp.br/~cef/mac323-09/ep1.pdf

Eu estou pensando em implementar alguma fila de prioridade usand heap(estou lendo sobre fibonacci heap) mas não consigo pensar numa maneira eficiente de verificar os casos críticos(4 aviões em um espaço X de tempo para pousarem e caso isso vá ocorrer, para onde mandar os aviões; vários aviões em atraso para decolagem etc). Seria bem chato ver algum avião caindo ou algum apagão aéreo no meu programa.

Obrigado e até!