Олимпиадный тренинг

Задача . Lights Off


Задача

Темы:

**Замечание: Время на тест в этой задаче 4s, в два раза больше обычного.**

Беси хочет пойти спать, ей нужно выключить все лампы. Как это сделать?

У Беси есть две битовые строки длиной \(N\) (\(2\le N\le 20\)), представляющие последовательность лампочек и переключателей, соответственно. Каждая лампочка включена(1) или выключена(0). Каждый переключатель активен(1) или неактивен(0).

Один *шаг* состоит из следующей последовательности операций:

  1. Переключить ровно один переключатель (сделать активным, если он неактивный или наоборот).
  2. Для каждого активного переключателя переключить состояние соответствующей лампочки (выключить, если она была включена или наоборот).
  3. Циклически сдвинуть переключатели вправо на один. А именно, если битовая строка соответствующая переключателям была изначально \(s_0s_1\dots s_{N-1}\) она превратится в строку \(s_{N-1}s_0s_1\dots s_{N-2}\).

Для каждого из \(T\) (\(1\le T\le 2\cdot 10^5\)) примеров описанной выше проблемы посчитайте минимальное количество ходов выключить все лампочки.

ФОРМАТ ВВОДА (с клавиатуры / stdin):

Первая строка содержит \(T\) и \(N\).

Каждая из следующих \(T\) строк содержит пару битовых строк длиной \(N\).

ФОРМАТ ВЫВОДА (на экран / stdout):

Для каждой пары выведите минимальное количество требуемых ходов, чтобы выключить все лампочки.


Примеры
Входные данныеВыходные данные
1 4 3
000 101
101 100
110 000
111 000
0
1
3
2

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя