Загрузка данных


import random

def find(a):
    for i in range(len(a)):
        if a[i] == 0:
            if a[i+1] == 1:
                return 1
            if a[i+1] == 2:
                return 2
    return 0

def rep(a,g):
    if g == 1:
        for i in range(len(a)):
            if a[i] == 0:
                if a[i+1] == 1:
                   a[i] = 2
                   a[i+1] = 2
                   a.insert(i+2, 0)
                   return a
    if g == 2:
        for i in range(len(a)):
            if a[i] == 0:
                if a[i+1] == 2:
                   a[i] = 1
                   a[i+1] = 1
                   a.insert(i+2, 1)
                   a.insert(i+3, 0)
                   return a

    return a


def osn():
    n = random.randint(41, 100)
    a = [0] * n
    su = 0
    for i in range (1, n):
        a[i] = random.randint(1, 2)
        su += a[i]
    print("--- init")
    print(a)
    
    #while find(a):
    if(1):
        if(find(a) == 2):
            a = rep(a, 2)
            print("--- 2")
            print(a)
        if(find(a) == 1):
            a = rep(a, 1)
            print("--- 1")
            print(a)


random.seed(1000)
osn()