O mundo é uma matriz de cinco por cinco células. Envolve por todos os lados. Pode ser visualizado como ...
XXXXX XXXXX XXOXX XXXXX XXXXX
Você é um O. Você gosta de viajar pelo mundo e o faz de acordo com as seguintes regras (seja C o dia atual):
- Nos dias nobres , você se sente nostálgico. Volte para onde você começou ontem.
- Em dias ímpares , você sente saudades de casa. Mova um passo horizontal para mais perto de casa, se possível, e um passo vertical para mais perto de casa, se possível. Ignore a quebra do mundo com a finalidade de determinar a proximidade.
- Em dias pares , você se sente aventureiro. Mova C / 2 passos para o sul.
- Em dias quadrados , você se sente aventureiro. Mover para a parede leste.
- Nos dias de Fibonacci , o mundo se expande para o sul em uma linha.
- Em dias triangulares , o mundo se expande para o leste em uma coluna.
Se duas ou mais das regras acima se aplicarem ao mesmo tempo, aplique-as na ordem listada. Por exemplo, em um dia nobre ímpar, volte primeiro para onde você começou ontem e depois dê um passo mais perto de casa.
Você mora no centro do mundo (inicial), ou seja, posição (2,2), indexada a zero a partir do canto noroeste. Você começa sua jornada lá no primeiro dia.
Entrada
Um único inteiro, N.
Saída
Suas coordenadas X e Y no nono dia, indexadas a zero no canto noroeste, separadas por um único espaço.
Caso de teste com explicação
Dada uma entrada de 3
, a saída correta é:
2 3
Podemos trabalhar com isso um dia de cada vez. A partir do dia 1, precisamos aplicar os seguintes movimentos:
- Ímpar, quadrado, Fibonacci e triangular
- Prime, even e Fibonacci
- Prime, ímpar, Fibonacci e triangular
Na forma visual:
Dia 1 Dia 2 Dia 3 XXXXX XXXXXX XXXXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXOXX -> XXXXOX -> XXXXXX -> XXXOXXX XXXXX XXXXXX XXOXXX XXXXXXX XXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXX XXXXXXX XXXXXX XXXXXXX XXXXXXX
Casos de teste adicionais
Cortesia de Martin Büttner 's solução de referência (por favor note que você deve saída de apenas uma única coordenada, não todos eles):
Input: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Output: 4 2 2 3 3 2 6 4 2 2 2 5 2 2 2 6 7 5 7 0 6 4 6 0 5 3 5 10 4 9 9 6 3 8 3 6 2 7 2 6 2 5 2 4 2 4
Isso é código de golfe. A finalização mais curta vence.