Предмет: Информатика, автор: anger1337ru39

ПОМОГИТЕ, ПОЖАЛУЙСТА, ОЧЕНЬ СРОЧНО!!! ДАМ 35 БАЛЛОВ!!!
Ограничение времени: 1 секунда;
Ограничение памяти: 64mb;
Ввод: стандартный ввод или input.txt;
Вывод: стандартный вывод или output.txt;

С помощью карточек с буквами набрали слова по нескольку слов из набора : "zero", "one". Затем карточки перемешали. Никакая из карточек не потерялась. Выведите максимальное число, которое можно составить, если заменить их соответственно на 1 и 0.

Формат ввода:
Первая строка содержит одно целое число n (l ≤ n ≤ 10⁵) — длина строки. Вторая строка содержит строку из строчных латинских букв: "z", "e", "r", "o" и "n".
Гарантируется, что буквы можно переупорядочить таким образом, чтобы они образовывали последовательность слов, каждое из которых является либо словом "zero", что соответствует цифре 0, либо словом "one", что соответствует цифре 1.

Формат вывода:
Выделите максимально возможное число в двоичной системе счисления. Выводите двоичные цифры, разделяя их пробелами. Лидирующие нули допустимы.

Пример 1:
Ввод:
4
ezor
Вывод:
0

Пример 2:
Ввод:
10
nznooeeoer
Вывод:
1 1 0
Язык программирования: Python 3.7.3

Ответы

Автор ответа: aaaaaaaaaaaaaaabaa
1

Ответ:

n = int(input())

one = 0

zero = 0

onelist = []

while n > 3:

if n % 3 == 0:

one = n/3

n = n/3

else:

n -= 4

zero += 1

for i in range(round(one)):

onelist.append("1")

for i in range(zero):

onelist.append("0")

onelist = " ".join(onelist)

b = (input())

print (onelist)

Объяснение:

я не знаю как сделать проще

Похожие вопросы