def hanoy_sorted ( arr , x, y): if len ( arr ) == 1: print( arr [0], x, y) elif len ( arr ) > 1: hanoy_sorted ( arr [1:], x, 6 - x - y) print( arr [0], x, y) hanoy_sorted ( arr [1:], 6 - x - y, y) def merge(arr1, x, arr2, y): if len (arr2) == 0: hanoy (arr1, x, y) elif len (arr1) > 0: n = arr1[-1] j = len (arr2) - 1 if n < arr2[-1]: print(arr1[-1], x, y) j = len (arr2) else: for i in range(0, len (arr2)): if n > arr2[ i ]: j = i + 1 break 2. " Xanoy minorasi " saralash algoritmi hanoy_sorted (arr2[j - 1:], y, x) hanoy_sorted ([n] + arr2[j - 1:], x, y) arr2.insert(j, n) merge(arr1[: len (arr1) - 1], x, sorted(arr2)[::-1], y) def hanoy ( arr , x, y): if len ( arr ) == 1: print( arr [0], x, y) if len ( arr ) > 1: mi = arr.index (max( arr )) up = arr [mi + 1:] z.append (up[:]) hanoy (z[-1], x, 6 - x - y) print( arr [mi], x, y) merge( arr [:mi], x, sorted(up)[::-1], 6 - x - y) arr.remove ( arr [mi]) hanoy_sorted (sorted( arr )[::-1], 6 - x - y, y) del z[-1] n = int (input(" Ro'yxat elementlarini sonini kiriting : ")) arr = list(map( int , input(" Ro'yxat elementlarini kiriting :").split()))[::-1] z = [] hanoy ( arr , 1, 3 )