Schnittmenge von Intervallen in Vektoren
Rust
Medium
vectors
Aufgabe «Schnittmenge von Intervallen in Vektoren»
Gegeben sind zwei Vektoren, die disjunkte und aufsteigend sortierte Intervalle enthalten. Jedes Intervall wird durch ein Paar ganzer Zahlen [start, end] (inklusive) dargestellt. Die Schnittmenge dieser beiden Intervallmengen soll ermittelt werden. Das Ergebnis muss als Vektor von aufsteigend sortierten Intervallen dargestellt werden. Falls es keine Schnittmenge gibt, wird ein leerer Vektor ausgegeben. Es ist garantiert, dass die Eingabeintervalle innerhalb jedes Vektors nicht überlappen.
Eingabeformat
In der ersten Zeile eine ganze Zahl n — die Anzahl der Intervalle im ersten Vektor. Danach n Zeilen, jede enthält zwei ganze Zahlen start und end, getrennt durch ein Leerzeichen. Danach eine ganze Zahl m — die Anzahl der Intervalle im zweiten Vektor. Danach m Zeilen mit Intervallen.
Ausgabeformat
In der ersten Zeile eine ganze Zahl k — die Anzahl der Intervalle in der Schnittmenge. Danach k Zeilen, jede mit zwei Zahlen — start und end, getrennt durch ein Leerzeichen.
Beispiele
Beispiel 1
EINGABE
1
4 7
1
8 10
AUSGABE
0
Beispiel 2
EINGABE
bbbbb
AUSGABE
1
Beispiel 3
EINGABE
3
1 2 3
AUSGABE
0
main.rs