n = int(input()) h = [] popr = [] for i in range(n): h.append(int(input())) hk = h[:] hk.sort() he = h[:] liczba_zamian = [] zamiany_indeksy = [] zamienione_indeksy = [] dodane_indeksy = [] l = 0 while he != hk: zamienione_indeksy.clear() zamiany_indeksy.clear() dodane_indeksy.clear() for i in range(len(h)): a = hk.index(he[i]) if a > i and a not in dodane_indeksy and i not in dodane_indeksy: zamiany_indeksy.insert(len(zamiany_indeksy)//2,a) zamiany_indeksy.insert(len(zamiany_indeksy)//2,i) dodane_indeksy.append(a) dodane_indeksy.append(i) zamiany_chwila = zamiany_indeksy[:] zamiany_chwila.reverse() u = 0 #hk [12, 14, 16, 18, 22] zmamiany chwilowe [3, 4, 2, 1] for i in range(len(zamiany_indeksy)-1):#c: #he [12, 18, 22, 14, 16] [1, 2, 4, 3] 1243,[1, 9, 12, 3, 4], 3421: if zamiany_indeksy[i] not in zamienione_indeksy : if i < len(he) - u: if he[i] != hk[i]: c = he[i] he[i] = he[zamiany_chwila[i-(min(zamiany_chwila))]] #[i] he[zamiany_chwila[i-(min(zamiany_chwila))]] = c zamienione_indeksy.append(i) zamienione_indeksy.append(zamiany_chwila[i-(min(zamiany_chwila))]) u += 2 u = zamiany_indeksy[:] liczba_zamian.append(u) zamiany_chwila.clear() print(len(liczba_zamian)) for i in range(len(liczba_zamian)): print(len(liczba_zamian[i])) for j in liczba_zamian[i]: print(j+1, end= " ") print()
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | n = int(input()) h = [] popr = [] for i in range(n): h.append(int(input())) hk = h[:] hk.sort() he = h[:] liczba_zamian = [] zamiany_indeksy = [] zamienione_indeksy = [] dodane_indeksy = [] l = 0 while he != hk: zamienione_indeksy.clear() zamiany_indeksy.clear() dodane_indeksy.clear() for i in range(len(h)): a = hk.index(he[i]) if a > i and a not in dodane_indeksy and i not in dodane_indeksy: zamiany_indeksy.insert(len(zamiany_indeksy)//2,a) zamiany_indeksy.insert(len(zamiany_indeksy)//2,i) dodane_indeksy.append(a) dodane_indeksy.append(i) zamiany_chwila = zamiany_indeksy[:] zamiany_chwila.reverse() u = 0 #hk [12, 14, 16, 18, 22] zmamiany chwilowe [3, 4, 2, 1] for i in range(len(zamiany_indeksy)-1):#c: #he [12, 18, 22, 14, 16] [1, 2, 4, 3] 1243,[1, 9, 12, 3, 4], 3421: if zamiany_indeksy[i] not in zamienione_indeksy : if i < len(he) - u: if he[i] != hk[i]: c = he[i] he[i] = he[zamiany_chwila[i-(min(zamiany_chwila))]] #[i] he[zamiany_chwila[i-(min(zamiany_chwila))]] = c zamienione_indeksy.append(i) zamienione_indeksy.append(zamiany_chwila[i-(min(zamiany_chwila))]) u += 2 u = zamiany_indeksy[:] liczba_zamian.append(u) zamiany_chwila.clear() print(len(liczba_zamian)) for i in range(len(liczba_zamian)): print(len(liczba_zamian[i])) for j in liczba_zamian[i]: print(j+1, end= " ") print() |