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() |
English