ekaterinasamoylova4705
?>

Государственные стандарты, необходимые для работы программиста.

Информатика

Ответы

РостиславовичЮлия1147

Это пока только тестовое, можешь проверить, код сырой

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]))

   

aza2103

Объяснение:

Выйдя из любой точки лабиринта. Надо сделать отметку на его стене и двигаться в произвольном направлении до тупика или перекрёстка в первом случае вернуться назад поставить второй крест свидетельствующий что путь пройден дважды туда и идти в направлении не пройденом ни разу или пройденом один раз во втором идти по направлении не произвольному направлению отмечая каждый перекрёсток на входе и на выходе одним крестомесли на перекрёстке один крест уже имеется то следует идти новым путем если нет то пройденным путем отметив его вторым крестом

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Государственные стандарты, необходимые для работы программиста.
Ваше имя (никнейм)*
Email*
Комментарий*