Objetivo
Tenho uma bela foto que quero pendurar na parede. E eu quero que ele fique pendurado lá de uma maneira espetacular, então eu escolhi pendurá-lo nas nunhas onde nhouver um número inteiro positivo.
Mas também sou indeciso, por isso, se mudar de idéia, não quero muitos problemas para tirar a foto. Portanto, remover qualquer uma das nunhas deve fazer a imagem cair. Eu mencionei que não há atrito na minha casa?
Pode me ajudar?
Regras
- Seu programa deve ler o número
nde stdin e imprimir em stdout (ou equivalentes do seu idioma). - A saída deve ser a solução de acordo com a especificação de saída sem nenhum outro caractere inicial ou final. No entanto, espaços em branco à direita e / ou novas linhas são aceitáveis.
- Você deve usar exatamente as
nunhas. - Assumindo um mundo sem atritos, sua solução deve atender às seguintes condições:
- Pendurando a imagem conforme descrito pela sua solução, a imagem não deve cair.
- Se qualquer uma das unhas for removida, a imagem deverá cair.
- Aplicam-se brechas padrão. Em particular, você não pode fazer solicitações, por exemplo, ao programa de verificação para soluções de força bruta.
Observe que 4.2 já implica que todas as nunhas devem estar envolvidas.
Especificação de saída
- Todas as unhas são nomeadas da esquerda para a direita com a posição em que estão, começando em
1. - Existem duas maneiras fundamentais de colocar a corda em torno de um prego: no sentido horário e anti-horário. Denotamos um passo no sentido horário com
>e um passo no sentido anti-horário com<. - Toda vez que a corda é colocada em torno de uma unha, ela sai por cima das unhas; portanto, pular as unhas significa que ela passará pela parte superior das unhas intermediárias.
- Toda solução deve começar na unha
1e terminar na unhan. - A saída deve consistir em uma sequência de etapas em que uma etapa é uma combinação do nome da unha e a direção na qual colocar a corda em torno dela.
Saída de exemplo
Aqui está um exemplo de saída para n=5e n=3:
1>4<3<2>4>5< # n=5, incorrect solution
1>2<1<2>3<2<1>2>1<3> # n=3, correct solution
E aqui está uma representação visual da solução incorreta para n=5(awsumz gimp skillz)

A solução correta para n=1é simplesmente 1>ou 1<. Para unhas múltiplas, pode haver soluções diferentes. Você só deve produzir um, pois isso faz parte da sua pontuação.
Verificação
Você pode verificar se uma solução está correta aqui: www.airblader.de/verify.php .
Ele usa uma solicitação GET, para que você possa chamá-la diretamente, se desejar. Por exemplo, se fooé um arquivo que contém uma solução em cada linha, você pode usar
cat foo | while read line; do echo `wget -qO- "www.airblader.de/verify.php?solution=$line" | grep "Passed" | wc -l`; done
Se você acredita que uma solução está correta, mas o verificador a marcar como incorreta, informe-me!
Edit: E se a sua saída for tão longa que uma solicitação GET não for cortada, avise-me e eu farei uma versão da solicitação POST. :)
Pontuação
Isso é código-golfe. A pontuação é o número de bytes do seu código-fonte na codificação UTF-8, por exemplo, use esta ferramenta . No entanto, há um bônus potencial para cada envio:
Execute seu programa para todos nno intervalo [1..20]e adicione o comprimento de todas as saídas para determinar sua pontuação de saída . Subtraia sua pontuação de saída 6291370para obter o número de pontos de bônus que você pode deduzir da sua contagem de bytes para obter sua pontuação geral . Não há penalidade se sua pontuação de saída for maior que esse número.
A finalização com a menor pontuação geral vence. No caso improvável de empate, os desempates estão nesta ordem: pontos de bônus mais altos, menor contagem de bytes, data de envio anterior.
Por favor, publique as partes individuais (contagem de bytes, pontos de bônus) da pontuação e a pontuação final, por exemplo, " LOLCODE (44 - 5 = 39)".
1>é desenhado na figura). E não há nonde nenhuma solução seja possível. Uma solução válida para n=2é 1>2<1<2>.