sexta-feira, 13 de fevereiro de 2009

1.1.3 Opinião do juiz

Os alunos devem estar cientes de que ambos os juízes são frequentemente muito exigente, como o que denota uma solução correcta. É muito importante para interpretar o problema especificações corretamente.

Nunca faça um pressuposto de que não é mencionado explicitamente no especs. Não há absolutamente nenhuma razão para crer que a entrada está classificado, os gráficos estão conectados, ou que o utilizado em um problema inteiros são positivos e razoavelmente pequena, a menos que declara-lo no
especificação.

Tal como os humanos juízes do ACM International Collegiate Programming Contest, o juiz online oferece-lhe muito pouco feedback sobre o que está errado com o seu programa. O juiz é provável o regresso de uma das seguintes sentenças:

• Aceite (AC) - Parabéns! Seu programa está correto, e é executado dentro do tempo e da memória limites.

• Apresentação de erro (PE) - Seu programa de realizações que são correctas, mas não são apresentadas no formato especificado. Verificar a existência de espaços, para a esquerda / direita justificação, linha alimentos, etc

• Aceite (PE) - Seu programa tem uma pequena apresentação de erro, mas o juiz é deixá-lo fora com uma advertência. Não se preocupe, porque muitos problemas têm pouco ambígua saída especificações. Normalmente, os problemas são algo tão banal como um extra em branco no final de uma linha, para parar por aqui e declarar vitória.

• Resposta incorreta (WA) - Este você deve preocupar-te, porque o seu programa retornou uma resposta incorrecta para uma ou mais das julgar casos secretos do teste. Você tem que fazer mais alguma depuração.

• Compile Error (CE) - O compilador não puderam descobrir como compilar o seu programa. O compilador resultante mensagens serão devolvidos a você. Aviso mensagens que não interfiram com a compilação são ignoradas pelo juiz.

• Runtime Error (RE) - Seu programa falhou durante a execução devido a um segmentation fault, exceção de ponto flutuante, ou problema semelhante. Sua mensagem será enviada morrendo de volta para você. Check for invalid ponteiro referências ou divisão por zero.

• Time Limit Exceeded (TL) - Seu programa teve muito tempo em pelo menos um dos casos de teste, então você provavelmente tem um problema com eficiência. Só porque você acabou de vez em uma entrada não significa que você estava correto em todos os outros, no entanto!

• Memória Limit Exceeded (ML) - Seu programa tentou usar mais memória do que o juiz da predefinições.

• Saída Limit Exceeded (OL) - Seu programa tentou imprimir muita saída. Isso normalmente significa que está preso em um loop infinito.

• Restrita Função (RF) - Sua fonte programa tentou usar um sistema ilegal, como a função fork () e fopen (). Comporte-se.

• Apresentação Erro (SE) - Você não especificar corretamente um ou mais campos da informação, talvez dando um usuário ID incorreto ou problema número.

Só para reiterar: se o seu programa é considerado culpado de ter uma resposta errada, o juiz não vai te mostrar o que ele falhou no teste caso, ou dar-lhe quaisquer sugestões de que ele falhou. É por isso que é tão essencial para a revisão das especificações cuidadosamente. Mesmo quando você pode ter certeza que seu programa está correto, o juiz pode manter a dizer não. Talvez você está esquecendo um caso fronteira ou assumindo algo que não é assim. Como reenviar o programa sem alterar você faz absolutamente nada. Leia o problema novamente para ter certeza de que ele diz o que você pensou que fez.

O juiz ocasionalmente retorna um veredicto mais exóticos que é essencialmente independente de sua solução. Consulte o site adequado para obter mais detalhes.

Nenhum comentário:

Postar um comentário