|
|||
Cserélgetős rendezésA rendezés fontos szerepet játszik az informatikában. Szinte minden probléma hatékonyabban oldható meg, ha rendezett adatokkal dolgozunk. Van pár kitűnő rendező algoritmus, amelyek már elérték az n · log n-es alsó bonyolultsági korlátot. Ebben a feladatban egy új rendezési módszerről lesz szó. Ennél a módszernél csak egy művelet (a csere) használható, amellyel két szomszédos elemet tudunk megcserélni egymással. Ha utánagondolunk, láthatjuk, hogy bármilyen számsorozatot rendezhetünk így. Egész számok adott sorozatát szeretnénk növekvő sorrendbe rendezni a fenti módszerrel. Meg kell határoznod a rendezéshez szükséges cserék minimális számát. Az 1, 2, 3 sorozat rendezéséhez például egyetlen csere sem szükséges, míg a 2, 3, 1 sorozat rendezéséhez legalább 2 cserére van szükség. A bemenet specifikációjaA bemenet számos tesztesetet tartalmaz. Minden teszteset egy N pozitív egész számmal kezdődik (N ≤ 1000). A következő néhány sorban N egész szám szerepel, ezek alkotják a rendezendő sorozatot. A bemenetet az állományvégjel (EOF) zárja. A kimenet specifikációjaMinden tesztesetre egy sort kell a kimenetre írni, amely a
„ szöveget tartalmazza, ahol M a sorozat rendezéséhez szükséges cserék minimális száma. Példa bemenet
A példa bemenethez tartozó kimenet
|
|||
Debreceni Egyetem, Informatikai Kar, v. 2024.09.30. |