Comentário por João Guilherme
Jogo de Cartas
Conhecimento prévio necessário:
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<bits/stdc++.h> | |
using namespace std; | |
int main(){ | |
int a, b, c; | |
cin >> a >> b >> c; | |
if(a == b) cout << c << "\n"; | |
else if(a == c) cout << b << "\n"; | |
else cout << a << "\n"; | |
return 0; | |
} |
Montanha
Conhecimento prévio necessário:
Primeiro lemos o , em seguida usamos um for para armazenarmos os números. Usaremo um vetor de tamanho 1024, sendo assim maior que o máximo. Uma vez tendo lido todas as variáveis, usamos outro for, indo de 2 até checamos para cada elemento do vetor se . Se isso ocorrer alguma vez, imprimimos S e terminamos o programa, porém se o loop terminar imprimimos N.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <bits/stdc++.h> | |
using namespace std; | |
int v[1024]; | |
int main(){ | |
int n; | |
cin >> n; | |
for(int i = 1; i <= n; ++i){ | |
cin >> v[i]; | |
} | |
for(int i = 2; i <= n - 1; ++i){ | |
if(v[i] < v[i - 1] && v[i] < v[i + 1]){ | |
printf("S\n"); | |
return 0; | |
} | |
} | |
printf("N\n"); | |
return 0; | |
} |
Jogo de Tabuleiro
Conhecimento prévio necessário:
Primeiro lemos o , em seguida usamos dois for, um dentro do outro para lermos as cores das pedras no tabuleiro. Usaremo uma matriz de tamanho 128 por 128, tendo portanto dimensões maiores que o máximo. A seguir usamos dois for para preencher a tabela, ambos começando do 2 e indo até o . 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
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include<bits/stdc++.h> | |
using namespace std; | |
int mat[128][128]; | |
int main(){ | |
int n; | |
cin >> n; | |
for(int i = 1; i <= n; ++i) | |
for(int j = 1; j <= n; ++j) | |
cin >> mat[i][j]; | |
for(int i = 2; i <= n; ++i) | |
for(int j = 2; j <= n; ++j){ | |
if(mat[i - 1][j] + mat[i][j - 1] + mat[i - 1][j - 1] > 1) mat[i][j] = 0; | |
else mat[i][j] = 1; | |
} | |
cout << mat[n][n] << "\n"; | |
return 0; | |
} |