Die Zahlen in der zweiten und dritten Spalte geben einen Bereich an. Was ich will, ist (wenn die Zahl in der ersten Spalte gleich ist), überlappende Regionen zu berechnen und zu berechnen, wie viele in einem Bereich durch die Zahl rechts gewonnen oder verloren werden (+1 = eins gewonnen, -1 = man hat verloren). Zum Beispiel, wenn ichBerechnen von Verstärkungen und Verlusten von überlappenden Nummernbereichen
1 0 300 +2
1 100 200 -1
2 100 200 -1
Das bedeutet, habe ich tatsächlich
1 0 100 +2
1 100 200 +1
1 200 300 +2
2 100 200 -1
weil 1 100 200
Überschneidungen mit 1 0 300
Schaffung 0 100 +2
, 100 200 +1
und 200 300 +2
aber 2 100 200
keine Überschneidungen hat und druckt einfach 2 100 200 -1
aus Beispieleingabe
1 0 5000 +1
1 100 400 -1
1 300 500 +2
1 1000 1200 +3
1 1000 1100 -2
1 0 50 -1
erwartete Ergebnis
1 50 100 +1
1 300 400 +1
1 400 500 +3
1 1000 1100 -1
1 1100 1200 +2
1 1200 5000 +1
Irgendeine Art von Pseudo-Code für wie dies erreichen würde
Aber Sprachen nett sein, die für mich arbeiten würde sind Bash, Perl, awk oder sed
Sie etwas geschrieben haben? – codeforester
@codeforester Ich habe nicht ich kann nicht denken, wie ich die Zahlen manipulieren könnte, um das zu tun – Jacob
Warum ist 300 - 400 "+1"? Ich bekomme +2. – choroba