PYTHON 3 Гринч, зашифровал все названия подарков, которые дети писали в письмах Деду Морозу. Начинал он шифровать с буквы, которая находится в середине названия подарка. Если название четной длины, то буква посередине считалась та, которая стоит левее из двух средних букв. Средняя буква выделена в следующих примерах: iphone, monitor. Если название подарка состоит из одной буквы, то, по определению выше, оно и будет его серединой.
Гринч шифровал каждое название следующим образом: он выписывал среднюю букву, затем удалял эту букву из названия и повторял процесс до тех пор, пока в названии есть хоть одна буква. Например, слово iphone он зашифрует в слово hopnie.
Вам задано слово s, зашифрованное название подарка Гринчем, а ваша задача — расшифровать его для Деда Мороза.
Входные данные
В первой строке следует целое положительное число n (1 ≤ n ≤ 2000) — длина зашифрованного названия подарка.
Во второй строке следует строка s длины n, состоящая из строчных букв латинского алфавита — зашифрованное название подарка.
Выходные данные
Выведите название подарка, которое зашифровал Гринч.
Тут четыре цикла, каждый из которых выполняет движение до конца (до тех пор, пока робот не достигнет стенки).
1) Нужно в уме представить клетки, в которые "упадут" роботы из всех начальных положений, если будут двигаться в первом направлении (вверх, до конца). Таких клеток окажется немного (см. рисунок 1).
2) Потом представляем, куда из этих клеток переместится робот при движении влево до конца. Таких клеток ещё меньше (см. рисунок 2).
3) Смотрим, куда попадём если вниз до конца. Останется одна клетка (см. рисунок 3).
4) И, двигаемся до конца вправо (см. рисунок 4).
Мы попадём в клетку E1.
Сюда будут попадать роботы из любого начального положения в этом лабиринте. Значит, единственная клетка, с которой робот может начать и в ней же закончить движение- это и есть клетка E1.
p = [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21]
q = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
ans = 0
for x in range(30):
if (x in p) and (x in q):
ans += x
print(ans)
Объяснение:
Это логическое выражение, где переменными выступают выражения , и . Обозначим их за , и соответственно. Например, , если , и иначе. У нас получается следующее выражение:
Раскроем импликацию и получим:
Уберём повторяющуюся . Наше финальное выражение:
Таким образом, выражение из условия будет истинно, если число не принадлежит , или не принадлежит , или принадлежит . Множество наименьшего размера будет содержать все числа, которые не удовлетворяют условию , то есть все числа, которые принадлежат и , и .