Coisas que precisam ser checadas antes de submeter uma solução
Coisas gerais
- Verificar o caso igual a zero.
- Verificar o caso a = b.
- Verificar se todas as variáveis permitem receber o valor zero na entrada.
- Inicializar todas as variáveis dentro do loop.
Limites das variáveis
- Verificar o limite de todas as variáveis. Se o problema diz o limite para uma variável, não significa que o limite também seja válido para outra variável.
- Uma variável que diz ser inteira pode possuir valores negativos.
Strings
- E se a string puder conter espaços?
- Cuidado com as quebras de linha na entrada.
Grafos
- E se não for conexo?
- E se tiver ciclos?
- E se tiver mais de um caminho?
- As arestas podem ter peso negativo?
- E se o grafo não tiver arestas?
Programação Dinâmica
- Muitas vezes, os índices da matriz de PD vão de 1 a len (com as posições 0 sendo as "condições de contorno"), enquanto os índices da string ou vetor lido da entrada vão de 0 a len-1.
Números de ponto flutuante
- Não há nenhuma constante PI definida pelo compilador. Você precisa definir uma na mão com o valor 3.14159265358979323846.
- Muito cuidado com
printf("%f"). Se o número for negativo e muito próximo de zero, pode acontecer de ser impresso -0.00.
- A solução pode estar certa, estar diferente do gabarito e dar Wrong Answer.
Compilação e debug
- Compile com gcc prob.c -o prob -Wall -ansi -pedantic. Utilize g++ se for C++. Acrescente -g -ggdb para debug.
- Verifique a grafia das palavras.
- Verifique as quebras de linha e os espaços.
- Remova todo o código de debug antes de submeter!