Vaše riešenia:
BubbleSort
¶from random import randrange
zoznam = [randrange(10, 100) for _ in range(30)]
print(*zoznam)
81 23 66 46 77 44 59 36 30 16 10 55 91 31 13 92 63 69 39 30 49 60 51 48 27 12 55 58 49 31
print(zoznam)
[81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
#bublinkove usporiadanie
n = len(zoznam)
for i in range(n-1):
for j in range(n-1): #indexy od 0 po n-2
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-1):
for j in range(n-1): #indexy od 0 po n-2
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
23 66 46 77 44 59 36 30 16 10 55 81 31 13 91 63 69 39 30 49 60 51 48 27 12 55 58 49 31 92 23 46 66 44 59 36 30 16 10 55 77 31 13 81 63 69 39 30 49 60 51 48 27 12 55 58 49 31 91 92 23 46 44 59 36 30 16 10 55 66 31 13 77 63 69 39 30 49 60 51 48 27 12 55 58 49 31 81 91 92 23 44 46 36 30 16 10 55 59 31 13 66 63 69 39 30 49 60 51 48 27 12 55 58 49 31 77 81 91 92 23 44 36 30 16 10 46 55 31 13 59 63 66 39 30 49 60 51 48 27 12 55 58 49 31 69 77 81 91 92 23 36 30 16 10 44 46 31 13 55 59 63 39 30 49 60 51 48 27 12 55 58 49 31 66 69 77 81 91 92 23 30 16 10 36 44 31 13 46 55 59 39 30 49 60 51 48 27 12 55 58 49 31 63 66 69 77 81 91 92 23 16 10 30 36 31 13 44 46 55 39 30 49 59 51 48 27 12 55 58 49 31 60 63 66 69 77 81 91 92 16 10 23 30 31 13 36 44 46 39 30 49 55 51 48 27 12 55 58 49 31 59 60 63 66 69 77 81 91 92 10 16 23 30 13 31 36 44 39 30 46 49 51 48 27 12 55 55 49 31 58 59 60 63 66 69 77 81 91 92 10 16 23 13 30 31 36 39 30 44 46 49 48 27 12 51 55 49 31 55 58 59 60 63 66 69 77 81 91 92 10 16 13 23 30 31 36 30 39 44 46 48 27 12 49 51 49 31 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 31 30 36 39 44 46 27 12 48 49 49 31 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 30 31 36 39 44 27 12 46 48 49 31 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 30 31 36 39 27 12 44 46 48 31 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 30 31 36 27 12 39 44 46 31 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 30 31 27 12 36 39 44 31 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 30 27 12 31 36 39 31 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 30 27 12 30 31 36 31 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 27 12 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 23 12 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 16 12 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 13 12 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-1):
for j in range(n-1-i):
#posledných i prvkov už neporovnávaj
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-2):
for j in range(n-1-i):
#posledných i prvkov už neporovnávaj
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
pre konkrétne čísla vidíme, že by stačilo aj menej
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-5):
for j in range(n-1-i):
#posledných i prvkov už neporovnávaj
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
Nefunguje, ak sú usporiadané opačne
zoznam = list(reversed(sorted([81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31])))
print(*zoznam)
92 91 81 77 69 66 63 60 59 58 55 55 51 49 49 48 46 44 39 36 31 31 30 30 27 23 16 13 12 10
n = len(zoznam)
for i in range(n-5):
for j in range(n-1-i):
#posledných i prvkov už neporovnávaj
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
23 16 13 12 10 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
#nefunguje ani pre minimum na konci
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 31,
55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60,
51, 48, 27, 12, 55, 58, 49, 10]
n = len(zoznam)
for i in range(n-1):
for j in range(n-1-i):
#posledných i prvkov už neporovnávaj
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
print(*zoznam)
10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-1):
bez_vymeny = True
for j in range(n-1-i):
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
bez_vymeny = False
if bez_vymeny:
break
print(f'{i:02d}:', *zoznam)
00: 23 66 46 77 44 59 36 30 16 10 55 81 31 13 91 63 69 39 30 49 60 51 48 27 12 55 58 49 31 92 01: 23 46 66 44 59 36 30 16 10 55 77 31 13 81 63 69 39 30 49 60 51 48 27 12 55 58 49 31 91 92 02: 23 46 44 59 36 30 16 10 55 66 31 13 77 63 69 39 30 49 60 51 48 27 12 55 58 49 31 81 91 92 03: 23 44 46 36 30 16 10 55 59 31 13 66 63 69 39 30 49 60 51 48 27 12 55 58 49 31 77 81 91 92 04: 23 44 36 30 16 10 46 55 31 13 59 63 66 39 30 49 60 51 48 27 12 55 58 49 31 69 77 81 91 92 05: 23 36 30 16 10 44 46 31 13 55 59 63 39 30 49 60 51 48 27 12 55 58 49 31 66 69 77 81 91 92 06: 23 30 16 10 36 44 31 13 46 55 59 39 30 49 60 51 48 27 12 55 58 49 31 63 66 69 77 81 91 92 07: 23 16 10 30 36 31 13 44 46 55 39 30 49 59 51 48 27 12 55 58 49 31 60 63 66 69 77 81 91 92 08: 16 10 23 30 31 13 36 44 46 39 30 49 55 51 48 27 12 55 58 49 31 59 60 63 66 69 77 81 91 92 09: 10 16 23 30 13 31 36 44 39 30 46 49 51 48 27 12 55 55 49 31 58 59 60 63 66 69 77 81 91 92 10: 10 16 23 13 30 31 36 39 30 44 46 49 48 27 12 51 55 49 31 55 58 59 60 63 66 69 77 81 91 92 11: 10 16 13 23 30 31 36 30 39 44 46 48 27 12 49 51 49 31 55 55 58 59 60 63 66 69 77 81 91 92 12: 10 13 16 23 30 31 30 36 39 44 46 27 12 48 49 49 31 51 55 55 58 59 60 63 66 69 77 81 91 92 13: 10 13 16 23 30 30 31 36 39 44 27 12 46 48 49 31 49 51 55 55 58 59 60 63 66 69 77 81 91 92 14: 10 13 16 23 30 30 31 36 39 27 12 44 46 48 31 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 15: 10 13 16 23 30 30 31 36 27 12 39 44 46 31 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 16: 10 13 16 23 30 30 31 27 12 36 39 44 31 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 17: 10 13 16 23 30 30 27 12 31 36 39 31 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 18: 10 13 16 23 30 27 12 30 31 36 31 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 19: 10 13 16 23 27 12 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 20: 10 13 16 23 12 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 21: 10 13 16 12 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 22: 10 13 12 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92 23: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
prebublávajme sprava (cyklus $j$)
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-1):
bez_vymeny = True
for j in range(n-1, 0, -1):
if zoznam[j-1] > zoznam[j]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j-1] = zoznam[j-1], zoznam[j]
bez_vymeny = False
if bez_vymeny:
break
print(f'{i:02d}:', *zoznam)
00: 10 81 23 66 46 77 44 59 36 30 16 12 55 91 31 13 92 63 69 39 30 49 60 51 48 27 31 55 58 49 01: 10 12 81 23 66 46 77 44 59 36 30 16 13 55 91 31 27 92 63 69 39 30 49 60 51 48 31 49 55 58 02: 10 12 13 81 23 66 46 77 44 59 36 30 16 27 55 91 31 30 92 63 69 39 31 49 60 51 48 49 55 58 03: 10 12 13 16 81 23 66 46 77 44 59 36 30 27 30 55 91 31 31 92 63 69 39 48 49 60 51 49 55 58 04: 10 12 13 16 23 81 27 66 46 77 44 59 36 30 30 31 55 91 31 39 92 63 69 48 49 49 60 51 55 58 05: 10 12 13 16 23 27 81 30 66 46 77 44 59 36 30 31 31 55 91 39 48 92 63 69 49 49 51 60 55 58 06: 10 12 13 16 23 27 30 81 30 66 46 77 44 59 36 31 31 39 55 91 48 49 92 63 69 49 51 55 60 58 07: 10 12 13 16 23 27 30 30 81 31 66 46 77 44 59 36 31 39 48 55 91 49 49 92 63 69 51 55 58 60 08: 10 12 13 16 23 27 30 30 31 81 31 66 46 77 44 59 36 39 48 49 55 91 49 51 92 63 69 55 58 60 09: 10 12 13 16 23 27 30 30 31 31 81 36 66 46 77 44 59 39 48 49 49 55 91 51 55 92 63 69 58 60 10: 10 12 13 16 23 27 30 30 31 31 36 81 39 66 46 77 44 59 48 49 49 51 55 91 55 58 92 63 69 60 11: 10 12 13 16 23 27 30 30 31 31 36 39 81 44 66 46 77 48 59 49 49 51 55 55 91 58 60 92 63 69 12: 10 12 13 16 23 27 30 30 31 31 36 39 44 81 46 66 48 77 49 59 49 51 55 55 58 91 60 63 92 69 13: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 81 48 66 49 77 49 59 51 55 55 58 60 91 63 69 92 14: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 81 49 66 49 77 51 59 55 55 58 60 63 91 69 92 15: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 81 49 66 51 77 55 59 55 58 60 63 69 91 92 16: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 81 51 66 55 77 55 59 58 60 63 69 91 92 17: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 81 55 66 55 77 58 59 60 63 69 91 92 18: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 81 55 66 58 77 59 60 63 69 91 92 19: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 81 58 66 59 77 60 63 69 91 92 20: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 81 59 66 60 77 63 69 91 92 21: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 81 60 66 63 77 69 91 92 22: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 81 63 66 69 77 91 92 23: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 81 66 69 77 91 92 24: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 81 69 77 91 92 25: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 81 77 91 92 26: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
#menej úprav
zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10, 55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60, 51, 48, 27, 12, 55, 58, 49, 31]
n = len(zoznam)
for i in range(n-1):
bez_vymeny = True
for j in range(n-2, -1, -1): #ZMENA IBA V PORADI
if zoznam[j] > zoznam[j+1]: #susedne prvky
#vymena v Pythone, netreba explicitnu pomocnu premennu
zoznam[j], zoznam[j+1] = zoznam[j+1], zoznam[j]
bez_vymeny = False
if bez_vymeny:
break
print(f'{i:02d}:', *zoznam)
00: 10 81 23 66 46 77 44 59 36 30 16 12 55 91 31 13 92 63 69 39 30 49 60 51 48 27 31 55 58 49 01: 10 12 81 23 66 46 77 44 59 36 30 16 13 55 91 31 27 92 63 69 39 30 49 60 51 48 31 49 55 58 02: 10 12 13 81 23 66 46 77 44 59 36 30 16 27 55 91 31 30 92 63 69 39 31 49 60 51 48 49 55 58 03: 10 12 13 16 81 23 66 46 77 44 59 36 30 27 30 55 91 31 31 92 63 69 39 48 49 60 51 49 55 58 04: 10 12 13 16 23 81 27 66 46 77 44 59 36 30 30 31 55 91 31 39 92 63 69 48 49 49 60 51 55 58 05: 10 12 13 16 23 27 81 30 66 46 77 44 59 36 30 31 31 55 91 39 48 92 63 69 49 49 51 60 55 58 06: 10 12 13 16 23 27 30 81 30 66 46 77 44 59 36 31 31 39 55 91 48 49 92 63 69 49 51 55 60 58 07: 10 12 13 16 23 27 30 30 81 31 66 46 77 44 59 36 31 39 48 55 91 49 49 92 63 69 51 55 58 60 08: 10 12 13 16 23 27 30 30 31 81 31 66 46 77 44 59 36 39 48 49 55 91 49 51 92 63 69 55 58 60 09: 10 12 13 16 23 27 30 30 31 31 81 36 66 46 77 44 59 39 48 49 49 55 91 51 55 92 63 69 58 60 10: 10 12 13 16 23 27 30 30 31 31 36 81 39 66 46 77 44 59 48 49 49 51 55 91 55 58 92 63 69 60 11: 10 12 13 16 23 27 30 30 31 31 36 39 81 44 66 46 77 48 59 49 49 51 55 55 91 58 60 92 63 69 12: 10 12 13 16 23 27 30 30 31 31 36 39 44 81 46 66 48 77 49 59 49 51 55 55 58 91 60 63 92 69 13: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 81 48 66 49 77 49 59 51 55 55 58 60 91 63 69 92 14: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 81 49 66 49 77 51 59 55 55 58 60 63 91 69 92 15: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 81 49 66 51 77 55 59 55 58 60 63 69 91 92 16: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 81 51 66 55 77 55 59 58 60 63 69 91 92 17: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 81 55 66 55 77 58 59 60 63 69 91 92 18: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 81 55 66 58 77 59 60 63 69 91 92 19: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 81 58 66 59 77 60 63 69 91 92 20: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 81 59 66 60 77 63 69 91 92 21: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 81 60 66 63 77 69 91 92 22: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 81 63 66 69 77 91 92 23: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 81 66 69 77 91 92 24: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 81 69 77 91 92 25: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 81 77 91 92 26: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 92
CoctailSort
ShakerSort
¶https://en.wikipedia.org/wiki/Cocktail_shaker_sort
SelectionSort
¶zoznam = [81, 23, 66, 46, 77, 44, 59, 36, 30, 16, 10,
55, 91, 31, 13, 92, 63, 69, 39, 30, 49, 60,
51, 48, 27, 12, 55, 58, 49, 31]
for i in range(n-1):
#nájdeme i.-te najmenšie cislo, teda jeho index
index_minima = i
for index in range(i+1, n):
if zoznam[index] < zoznam[index_minima]:
index_minima = index
# print(index_minima)
#vymenime prvky na poziaciah i a index_minima
zoznam[i], zoznam[index_minima] = zoznam[index_minima], zoznam[i]
print(f'{i:2d}:', *zoznam[:i+1], '|', *zoznam[i+1:])
0: 10 | 23 66 46 77 44 59 36 30 16 81 55 91 31 13 92 63 69 39 30 49 60 51 48 27 12 55 58 49 31 1: 10 12 | 66 46 77 44 59 36 30 16 81 55 91 31 13 92 63 69 39 30 49 60 51 48 27 23 55 58 49 31 2: 10 12 13 | 46 77 44 59 36 30 16 81 55 91 31 66 92 63 69 39 30 49 60 51 48 27 23 55 58 49 31 3: 10 12 13 16 | 77 44 59 36 30 46 81 55 91 31 66 92 63 69 39 30 49 60 51 48 27 23 55 58 49 31 4: 10 12 13 16 23 | 44 59 36 30 46 81 55 91 31 66 92 63 69 39 30 49 60 51 48 27 77 55 58 49 31 5: 10 12 13 16 23 27 | 59 36 30 46 81 55 91 31 66 92 63 69 39 30 49 60 51 48 44 77 55 58 49 31 6: 10 12 13 16 23 27 30 | 36 59 46 81 55 91 31 66 92 63 69 39 30 49 60 51 48 44 77 55 58 49 31 7: 10 12 13 16 23 27 30 30 | 59 46 81 55 91 31 66 92 63 69 39 36 49 60 51 48 44 77 55 58 49 31 8: 10 12 13 16 23 27 30 30 31 | 46 81 55 91 59 66 92 63 69 39 36 49 60 51 48 44 77 55 58 49 31 9: 10 12 13 16 23 27 30 30 31 31 | 81 55 91 59 66 92 63 69 39 36 49 60 51 48 44 77 55 58 49 46 10: 10 12 13 16 23 27 30 30 31 31 36 | 55 91 59 66 92 63 69 39 81 49 60 51 48 44 77 55 58 49 46 11: 10 12 13 16 23 27 30 30 31 31 36 39 | 91 59 66 92 63 69 55 81 49 60 51 48 44 77 55 58 49 46 12: 10 12 13 16 23 27 30 30 31 31 36 39 44 | 59 66 92 63 69 55 81 49 60 51 48 91 77 55 58 49 46 13: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 | 66 92 63 69 55 81 49 60 51 48 91 77 55 58 49 59 14: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 | 92 63 69 55 81 49 60 51 66 91 77 55 58 49 59 15: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 | 63 69 55 81 92 60 51 66 91 77 55 58 49 59 16: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 | 69 55 81 92 60 51 66 91 77 55 58 63 59 17: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 | 55 81 92 60 69 66 91 77 55 58 63 59 18: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 | 81 92 60 69 66 91 77 55 58 63 59 19: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 | 92 60 69 66 91 77 81 58 63 59 20: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 | 60 69 66 91 77 81 92 63 59 21: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 | 69 66 91 77 81 92 63 60 22: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 | 66 91 77 81 92 63 69 23: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 | 91 77 81 92 66 69 24: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 | 77 81 92 91 69 25: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 | 81 92 91 77 26: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 | 92 91 81 27: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 | 91 92 28: 10 12 13 16 23 27 30 30 31 31 36 39 44 46 48 49 49 51 55 55 58 59 60 63 66 69 77 81 91 | 92