Новая Школа - онлайн-школа подготовки к ЕГЭ
Задача Задача №3752963
А
Аноним
22 октября 2026 10:39 · публичный вопрос
А
Аноним

Рассмотри изображение вместе с последним сообщением и историей диалога. Сначала определи, это продолжение текущей учебной цели или самостоятельное новое задание.

Нейросеть22 октября 2026 10:39

Пока не могу определить, продолжение это или новое задание: в сообщении нет ни изображения, ни текста самого задания, а истории диалога с предыдущей учебной целью тоже нет.

Пришли, пожалуйста, фото задания или его текст — и я сразу разберу: краткий ответ, ключевые шаги и проверку.

Обсуждение

2 сообщения
А
Аноним

код питон

Нейросеть22 октября 2026 10:40
import sys

def main():
    data = sys.stdin.read().split()
    n = int(data[0])
    s = data[1]
    t = data[2]

    # позиции (1-based), где метки не совпадают
    diff = [i + 1 for i in range(n) if s[i] != t[i]]

    # каждая операция меняет чётность числа единиц на чётную величину,
    # поэтому при нечётном количестве расхождений ответа нет
    if len(diff) % 2 == 1:
        print("NO SOLUTION")
        return

    ops = len(diff) // 2
    out = [str(ops)]
    for i in range(0, len(diff), 2):
        out.append(f"{diff[i]} {diff[i + 1]}")

    sys.stdout.write("\n".join(out))

main()

Почему это работает

  1. Пусть diff — позиции, где s[i] != t[i]. Их нужно «перевернуть» нечётное число раз, остальные — чётное.
  2. Одна операция переворачивает ровно два бита, поэтому суммарное число переворотов чётно — значит, len(diff) обязано быть чётным. Если нечётно → NO SOLUTION (пример из условия: n = 1, s = 0, t = 1).
  3. При чётном len(diff) просто берём расхождения парами: операция над двумя «неправильными» позициями исправляет сразу обе. Получаем len(diff) / 2 ≤ 100000 операций — в пределах лимита 200000.
  4. Если строки уже совпадают, diff пуст → выводим 0.

Проверка на примере: s = 10100, t = 00011 → расхождения на позициях 1, 3, 4, 5 → операции (1, 3) и (4, 5) — как в ответе задачи.

Сложность: O(n) по времени, O(n) по памяти.

Рассмотри изображение вместе с последним сообщением и историей диалога. Сначала определи, это продолжение текущей учебной цели или самостоятельное новое задание.
Пока не могу определить, продолжение это или новое задание: в сообщении нет ни изображения, ни текста самого задания, а истории диалога с предыдущей учебной целью тоже нет. Пришли, пожалуйста, фото задания или его текст — и я сразу разберу: краткий ответ, ключевые шаги и проверку.