Escrito por Vitor Veiga
Conhecimento prévio necessário:
Temos um vetor e 2 intervalos de mesmo tamanho, e . Queremos trocar os valores dessas duas sequências dentro do vetor, ou seja, deixar os intervalos e .
A chave para a resolução dessa questão é observar que a distância entre os dois valores trocados será sempre igual a . Sabendo disso, basta passar por todo o intervalo trocando seus valores com os valores dos índices exatamente maiores que os seus.
Para melhor entendimento, utilizaremos como exemplo a primeira entrada:
e
basta então realizar as trocas
resultando, assim, no vetor
Recomendamos que você tente implementar o problema antes de ver o código. Para conferi-lo, clique aqui.