Dies ist eine Frage aus einem Programmierwettbewerb (der bereits beendet ist). Ich hatte Schwierigkeiten, dieses Problem zu lösen, konnte jedoch keine gesunde Methode finden, um dies zu tun.
Die Frage lautet:
Das IIIT Allahabad feiert sein jährliches Techno-Cultural Fiesta Effervescence MM12 vom 1. bis 5. Oktober. Der Koch hat zugestimmt, Bonbons für diese Festtagssaison zu liefern. Der Koch hat N Schachteln Bonbons vorbereitet, nummeriert von 1 bis N (jede Zahl kommt genau einmal vor ). Der Koch legt großen Wert auf die Anordnung der Schachteln. Er möchte, dass die Schachteln in einer bestimmten Reihenfolge angeordnet sind, aber leider ist der Koch beschäftigt. Er hat Sie gebeten, die Schachteln für ihn neu anzuordnen. Angesichts der aktuellen Reihenfolge der Schachteln müssen Sie die Schachteln in der angegebenen Reihenfolge neu anordnen. Es gibt jedoch eine Einschränkung. Sie können nur zwei benachbarte Schachteln vertauschen, um die erforderliche Reihenfolge zu erreichen. Geben Sie die minimale Anzahl solcher benachbarter Vertauschungen aus.
Eingabe
Die erste Zeile der Eingabe enthält eine einzelne Ganzzahl T, die Anzahl der Testfälle. Jeder Testfall enthält 3 Zeilen, die erste Zeile enthält eine einzige Ganzzahl N, die Anzahl der Schachteln. Die nächsten 2 Zeilen enthalten jeweils N Zahlen, wobei die erste Zeile die gegebene Reihenfolge der Schachteln und die zweite Zeile die erforderliche Reihenfolge darstellt.
Ausgabe
Geben Sie für jeden Testfall eine einzelne Ganzzahl 'K' aus, die minimale Anzahl der benötigten benachbarten Vertauschungen. Einschränkungen:
1<=T<=10
1<=N<=10^5
Beispiel
Eingabe:
4
3
1 2 3
3 1 2
3
1 2 3
3 2 1
5
3 4 5 2 1
4 1 5 2 3
4
1 2 3 4
2 3 4 1
Ausgabe:
2
3
6
3
Ich war fast ratlos über diese Frage. Kann mir bitte jemand die Logik hinter der Frage erklären!!