TÓPICO

PROBLEM 1622 - URI Fórum 1.0

URI Online Judge perguntou 6 years ago

URI Online Judge Fórum 1.0

MOD

Este tópico foi resolvido e não pode receber novas respostas.

  • Blue Screen respondido 6 years ago

    Valeu pela dica meitcher!

    Deu um trabalhinho, mas consegui encontrar o padrão e meu código agora passou.

    Muito obrigado

  • Marcos Treviso respondido 6 years ago

    Esse problema é bem bolado para dar TLE rsrs.

    Observe que m pode ir até 10^6 e o k pode ir até 100, nesse caso, você faria 10^8 em n iterações. Minha dica é você imprimir o resultado do vetor cpy a cada iteração do seu laço que liga e desliga as lâmpadas, e então, analisar essa saída. Perceberá que o resultado se repete em um determinado padrão.

    Valeu!

  • Blue Screen respondido 6 years ago

    Boa tarde!

    Estou tomando TLE neste problema mas não faço ideia do que pode estar errado.

    Meu loop principal (que liga ou desliga as lâmpadas) é o seguinte:

    for (int i = 0; i < k * m; i += k) {
          if (cpy[i % n] == 'o')
              cpy[i % n] = 'x';
          else
              cpy[i % n] = 'o';
     }

    'cpy' é uma cópia da string que contém a sequência original de lâmpadas.

    Agradeço se alguém puder ajudar.