Объяснение:
Выйдя из любой точки лабиринта. Надо сделать отметку на его стене и двигаться в произвольном направлении до тупика или перекрёстка в первом случае вернуться назад поставить второй крест свидетельствующий что путь пройден дважды туда и идти в направлении не пройденом ни разу или пройденом один раз во втором идти по направлении не произвольному направлению отмечая каждый перекрёсток на входе и на выходе одним крестомесли на перекрёстке один крест уже имеется то следует идти новым путем если нет то пройденным путем отметив его вторым крестом
Поделитесь своими знаниями, ответьте на вопрос:
ради бога Информатика 8 класс
Это пока только тестовое, можешь проверить, код сырой
n,m = map(int, input().split())
n = str(n)
sum_num_n = sum([int(i) for i in n])
if sum_num_n < m:
def count_num(x):
if x/9 > x//9 :
return x//9 + 1
return x//9
count = count_num(m)
n += '0'*(count-len(n))
n = list(n[::-1])
i = 0
nujno = m - sum_num_n
while nujno!= 0:
if nujno+int(n[i]) < 9:
n[i] = str(int(n[i])+nujno)
break
else:
nujno-=9-int(n[i])
n[i] = '9'
i+=1
print(''.join(n[::-1]))
else:
n = list(n[::-1])
i = 0
nujno = m - sum_num_n
while True:
if i == len(n)-1 :
n.append('0')
if n[i+1] == 9:
continue
else:
n[i+1] = str(int(n[i+1])+1)
nujno-=1
if int(n[i])+nujno > 0:
n[i] = str(int(n[i])+nujno)
break
else:
nujno+=int(n[i])
n[i] = '0'
if nujno == 0:
break
i+=1
print(''.join(n[::-1]))