Comentário NOIC OBI 2023 - Fase 2 - Tipo A - Programação Nível Júnior

OBI 2023 - Fase 2 - Turno A - Programação Nível Júnior

Se você quiser se preparar para a OBI, não deixe de conferir o Roteiro de estudos de informática, e também a página de informática do NOIC, com todos os nossos materiais.

Para conferir a prova na integra:

Código de Compressão

Comentário por Murilo Maeda

Para esse problema basta manter em uma variável auxiliar k qual é o número de caracteres na sequência de caracteres iguais atual. Se um caractere é igual ao anterior, fazemos k++. Se um caractere é diferente do anterior, imprimimos k e depois o caractere anterior. Lembre-se de no final do código imprimir k e o último caractere da string.

Clique aqui para conferir o código

Grupos de Trabalho

Comentário por Henrique Vianna

Para resolver esse problema, basta marcarmos em qual grupo cada um dos alunos está e depois passar pelas M + D condições, checando se elas estão satisfeitas. Para cada condição do primeiro tipo, se os dois alunos estiverem em grupos diferentes, aumentamos a resposta em um. Da mesma forma, para cada condição do tipo dois, se os dois alunos estiverem no mesmo grupo, devemos adicionar um à resposta.

Clique aqui para conferir o código

Pizza da OBI

Comentário por João Pedro Castro

Sabemos que teremos G e M pizzas com respectivamente 8 e 6 pedaços de mesmo tamanho, logo a fórmula para a quantidade total de pedaços de pizza (vamos chamar esse número de P) é: P := 8 \cdot G + 6 \cdot M. Sabendo que a quantidade de pedaços de pizza desejados é N, podemos dizer que se P \leq N não sobrarão pedaços (resposta 0), e caso P > N (ou seja, se a condição anterior for falsa), sobrarão exatamente P - N pedaços. Você pode fazer essa comparação por estruturas condicionais, ou simplesmente usar a função max, que retorna o maior valor dentre os dois apresentados: max(P - N, 0) (se P < N a primeira expressão será negativa, e a função retornará 0).

Clique aqui para conferir o código