Wenn ich Dein Problem richtig interpretiere, ist die Lösung eigentlich ganz einfach:
Du musst alle Anfangs- und Endadressen mit den zugehörigen Nummern der Karten
jeweils in einen Record schreiben und dann die Records in eine Liste einsortieren nach
der Grösse der Adresse.
Dann nimmst Du Dir eine Stringliste und gehst die obige Liste v.l.n.r. durch.
Wenn du dann einen Adressbereich einer karte betrittst, trägst Du die Nr im Record
in die Stringliste ein.
Wenn Du in der Stringliste dann zu irgendeinem Zeitpunkt mehr als 1 eintrag stehen hast,
hast Du einen Adresskonflikt.
Das Checkst Du natürlcih immer direkt nach dem Eintragen.
So, das sollte als Idee zum Implementieren wohl reichen