Comentário NOIC OBI 2017 – Fase 2 – Programação Nível Júnior

Comentário por João Guilherme

Jogo de Cartas

Conhecimento prévio necessário:

  1. Entrada e saída (Aula 1)
  2. Estruturas condicionais e repetição (Aula 2)

Primeiro lemos a entrada, gravando os números em 3 variáveis, a, b e c. Então usando ifs e elses imprimimos o número que não se repetiu:

  • Se a == b, imprimimos c;
  • Se a == c, imprimimos b;
  • Se c == b, imprimimos a.

Segue o código para melhor entendimento.

https://gist.github.com/jogu99/f9d495ac2b1757db89c14621872d27dd

 

Montanha

Conhecimento prévio necessário:

  1. Entrada e saída (Aula 1)
  2. Estruturas condicionais e repetição (Aula 2)

Primeiro lemos o $$n$$, em seguida usamos um for para armazenarmos os números. Usaremo um vetor $$v$$ de tamanho 1024, sendo assim maior que o$$n$$ máximo. Uma vez tendo lido todas as variáveis, usamos outro  for, indo de 2 até $$n – 1$$ checamos para cada elemento $$v[i]$$ do vetor se $$v[i – 1] > v[i] < v[i + 1]$$. Se isso ocorrer alguma vez, imprimimos S e terminamos o programa, porém se o loop terminar imprimimos N.

https://gist.github.com/jogu99/4a08d84896ca00c38d810d1b68b4e6ae

 

Jogo de Tabuleiro

Conhecimento prévio necessário:

  1. Entrada e saída (Aula 1)
  2. Estruturas condicionais e repetição (Aula 2)

Primeiro lemos o $$n$$, em seguida usamos dois for, um dentro do outro para lermos as cores das pedras no tabuleiro. Usaremo uma matriz $$mat$$ de tamanho 128 por 128, tendo portanto dimensões maiores que o$$n$$ máximo. A seguir usamos dois for para preencher a tabela, ambos começando do 2 e indo até o $$n$$. Em cada célula da matriz analisamos as células: acima, a logo abaixo e a na diagonal, se a soma delas for maior que 1, então existem mais pretas que brancas e sua cor será branca, ja se a soma for menor ou igual a 1 existem mais brancas que pretas e a celula deve ser preta.

Segue o código para melhor entendimento

https://gist.github.com/jogu99/fdcec9a904f1a2c536d98049e5b2b366