Eu preciso de alguma ajuda com este algoritmo C ++

Estou tentando resolver um problema de algoritmo, mas não consigo encontrar a solução ...

A tarefa é produzir o menor número de etapas necessárias para alcançar uma determinada configuração de lâmpadas.

Existem duas linhas de lâmpadas e N <10000 colunas, da seguinte forma:

11011
11011

ou

11101101111000101010
01111101100000010100

Estas lâmpadas podem ser "on" (1) ou "off" (0).

Começando de tudo desligado (0), o programa tem que mostrar o número de passos necessários para alcançar a configuração desejada.

Um passo pode ser:

alternar uma lâmpadaalternar duas lâmpadas, uma acima da outra (na mesma coluna)alternar n lâmpadas consecutivas na mesma linha, pode ser a linha inteira, pode ser apenas duas (ou uma como explicado acima)

Eu imaginei que o algoritmo deveria simplesmente contar o número de passos necessários para desligar as luzes completamente, e isso seria o mesmo que na ordem "certa". Além disso, o meu palpite era tentar encontrar "buracos", ou seja, sequências de mais de uma lâmpada com o mesmo estado, e depois trocá-las. Mas fica complicado desde que há duas linhas ...

No entanto, eu estava completamente perdido depois desse ponto e preciso de ajuda ...

questionAnswers(4)

yourAnswerToTheQuestion