O que se entende por ' hacks ' em Codeforces? O que eles fazem?


Melhor resposta

Codeforces tem um recurso de hacking, durante competições. Aqui, hackear não significa invadir ilegitimamente um sistema de computador.

O Codeforces organiza os competidores em grupos de 9 a 10 pessoas chamados de sala. Ao hackear, você pode visualizar a solução de outras pessoas em sua sala. Se você acha que tem um caso de teste em que o código pode dar uma resposta errada. Basta clicar em hackear e fornecer seu caso de teste. Se sua suposição estiver certa, você receberá 100 pontos extras, caso contrário, 50 pontos serão deduzidos por tentativa de hacking incorreta.

Antes de hackear, você deve bloquear sua solução, bloquear significa que você não pode editar seu código depois disso.

Hackear é muito bom, porque ensina você a ler e entender o código dos outros, o que é uma qualidade muito importante que todo programador deve possuir.

Resposta

Durante o concurso, a solução que você enviar é testada contra muito poucos casos de teste chamados “pré-testes”. Isso é feito para reduzir o tempo de teste durante o concurso.

Às vezes, a solução pode passar nos pré-testes e ainda estar errada. Portanto, se você acha que uma solução enviada por outra pessoa que passou nos pré-testes está errada (você “poderá ver as soluções de outros” após bloquear sua solução), pode fornecer um caso de contra teste para o qual a solução falhará.

Você ganha +100 pontos se a solução falhou para o seu caso de teste (tentativa de hacking bem-sucedida) ou -50 pontos se passou (tentativa de hacking malsucedida).

Para ser capaz de hackear um solução, você deve 1. apresentar uma solução para o problema que passa nos pré-testes. 2. bloqueie sua solução

Observação: depois de bloquear, você não pode “enviar mais nenhuma solução para o problema. Depois de bloquear, você pode ver outras soluções” que passaram nos pré-testes.

As soluções serão verificadas em relação a todo o conjunto de casos de teste após o término do concurso.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *