Crie um programa que produza uma sequência de hello world ("Olá, mundo", "Olá, mundo" etc.) e o código-fonte. A saída é gravada em stdout ou equivalente. A cadeia Hello world está incorporada no código fonte.
Por exemplo, a saída para pode ser
(some source code here)hello world(some source code here)
Quando a saída é compilada ou interpretada novamente, ela deve criar uma saída semelhante, mas a cadeia hello world deve ter uma pontuação ou capitalização diferentes. Por exemplo, o exemplo anterior pode criar a seguinte saída
(some source code here)hello, wORld(some source code here)
Cada "(algum código-fonte aqui)" nesses exemplos pode mudar após cada execução ou pode ser a mesma.
Sua saída deve conter uma sequência válida de hello world exatamente uma vez. Pode conter qualquer quantidade de seqüências inválidas de hello world. O código-fonte pode conter qualquer quantidade de comentários e a string hello world pode ser incorporada nos comentários. O primeiro programa pode ter zero ou uma sequência de hello world válida, mas não mais.
A pontuação a seguir é válida:
hello, world
hello world
helloworld
Qualquer capitalização é aceitável. Por exemplo, estas são cadeias de caracteres hello world válidas:
Hello, world
hellO WORld
HELLoworlD
Essas strings não são válidas:
Hello world
Hello(newline)world
Hello,world
Hello, Steve
Seu programa falha assim que uma das seguintes condições é atendida:
- Ele gera uma string hello world que foi produzida durante alguma execução anterior,
- a saída não é mais um código fonte válido no mesmo idioma ou
- a saída não contém exatamente uma sequência válida de hello world.
Seu programa não é válido para este concurso, a menos que pelo menos duas primeiras execuções tenham êxito. Isso significa que a terceira saída pode ser inválida. A saída do seu programa pode não ser aleatória. A primeira execução deve sempre criar a mesma segunda saída, a segunda execução deve sempre criar a mesma terceira saída, etc.
A pontuação é calculada como a quantidade de bytes no código-fonte do programa inicial. Menor pontuação ganha.
Os seguintes bônus se aplicam (até -60%):
- -5% * (N - 2), em que N é o índice da execução após o qual o seu programa produz uma saída inválida. Esse bônus é limitado em -50%. Se o seu programa for bem-sucedido 12 vezes ou mais, você recebe o bônus máximo.
- -10%, se suas saídas (incluindo o primeiro código-fonte) incluírem todas as três alternativas de pontuação válidas.
Seu envio deve incluir o primeiro código-fonte e também deve conter os resultados das execuções bem-sucedidas. Se o seu programa tiver êxito mais de 12 vezes, adicione a saída para 12 execuções.
Exemplo
A próxima linha é o primeiro código fonte. Quando o executamos, é a primeira execução.
hello world(some source code here)
A próxima linha é a saída do primeiro código-fonte. É a primeira saída.
hello, world(some source code here)
A próxima linha é a saída da segunda execução. É a segunda saída.
helloworld(some source code here)
Quando executamos a primeira saída, esse programa se tornou elegível ao bônus de -10%. Isso significa que temos duas saídas e um código original, todos com pontuação diferente. Além disso, como a segunda saída foi válida, este programa é elegível para este concurso.
A próxima linha é a saída da terceira execução. É a terceira saída.
Helloworld(some source code here)
A próxima linha é a saída da quarta execução. É a quarta saída.
hellworld(some source code here)
Esta saída foi inválida. O índice da última execução válida foi 4. Este programa é elegível para bônus de -5% * (4-2) e bônus de -10% da pontuação. Isso totaliza -20%. O comprimento do primeiro código fonte ("olá mundo (algum código fonte aqui)" foi de 34 bytes; portanto, a pontuação final é 27,2.
hello world
?