Jater

EGE_12_2023

Feb 22nd, 2023
1,420
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.35 KB | None | 0 0
  1. """(№ 4978) Исполнитель Редактор получает на вход строку цифр и преобразовывает её.
  2. ПОКА НЕ нашлось(00)
  3.  заменить(01, 21022)
  4.  заменить(02, 310)
  5.  заменить(03, 230112)
  6. КОНЕЦ ПОКА
  7. Известно, что исходная строка начиналась с нуля и заканчивалась нулём, а между ними были только цифры 1, 2 и 3.
  8. После выполнения данной программы получилась строка, содержащая 104 единицы, 39 двоек и 83 тройки.
  9. Сколько цифр было в исходной строке?
  10. Ответ: 28"""
  11. def smallStr(s):
  12.     while not "00" in s:
  13.         s = s.replace('01', '21022', 1)
  14.         s = s.replace('02', '310', 1)
  15.         s = s.replace('03', '230112', 1)
  16.     print(s.count("1"),s.count("2"),s.count("3"), s)
  17.  
  18. smallStr("010")  #21313100            - 1: 3, 2: 1, 3: 2
  19. smallStr("020")  #3100                - 1: 1, 2: 0, 3: 1
  20. smallStr("030")  #232131312131313100  - 1: 7, 2: 3, 3: 6
  21.  
  22. a = []
  23. for i in range(100):
  24.     for j in range(100):
  25.         for k in range(100):
  26.             if (3*i + 1*j + 7*k == 104 and 1*i + 0*j + 3*k == 39 and 2*i + 1*j + 6*k == 83):
  27.                 a.append(i+j+k)
  28. print(min(a)+2)
  29.  
Advertisement
Add Comment
Please, Sign In to add comment