• Тапочки

    У меня в прихожей стоят в ряд 20 тапочек – 10 левых и 10 правых. Приходя домой, я переобуваюсь и выбираю два тапочка – левый и правый, в которые мне удобнее всего засунуть ноги. Естественно, что левый тапочек должен стоять левее правого, и расстояние (количество других тапочек) между ними должно быть как можно меньше. Напишите программу, которая вычисляет, сколько же тапочек стоит между теми, которые мне удобнее всего надеть.

    Входные данные

    Вводится последовательность из 10 нулей и 10 единиц, записанных в некотором порядке. Единица соответствует левому тапочку, 0 – правому тапочку. Числа разделены пробелами.

    Выходные данные

    Программа должна вывести количество тапочек между самыми удобными тапочками, или -1, если таких нет.

Ответы 1

  • Задача решается в 3 этапа:

    1. Считайте список тапков и в цикле выдайте порядковые номера всех левых тапков (простой цикл)

    2. Вместо выдачи номера левого найдите дополнительно позицию ближайшего направо правого (+вложенный цикл) и выдайте позиции парных

    3. Вместо выдачи позиций запомните минимальную разницу в позициях (+1 переменная, изначально равная 20 - максимальная разница).

    Эту разницу вам и требуют выдать. Если она останется без изменений (те 20), то требуют -1

    ЗЫ

    Я знаю что слова "тапков" нет))

    

    • Автор:

      cat123
    • 1 год назад
    • -1
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years