Outro exercício novo resolvido! Quem mais conseguiu fazer esse?
Antes de resolver qualquer algoritmo do URI (BEECROWD agora), recomendamos seguir os seguintes passos:
- Ler todo enunciado do problema.
- Ler os tópicos do fórum em caso de dúvidas
- Preparar arquivos de entrada para teste, considerando as entradas de exemplo do URI, do udebug e outros valores limite;
- Preparar o ambiente de desenvolvimento e utilizar os mesmos parâmetros dos compiladores do URI
- Preparar um código-fonte padrão, já contendo a chamada às bibliotecas padrão, pré-processadores, retorno de função e um comando de escrita com "\n", pois no URI a grande maioria dos problemas exige a quebra de linha final.
Plataforma: URI (BEECROWD)
Problema: 3302
Enunciado:
Roumes era um aluno acima da média. Nas provas de matemática, ele sempre tirava nota máxima, acertando todas as contas, mas o segredo dele não estava em fazer contas corretamente. Ele interpretava o que via no ambiente a sua volta e conseguia deduzir as respostas para as questões. Você também pode ser alguém especial, igual a Roumes.
Linguagens: C e C++
Solução:
A lógica que usei aqui foi simples. Leio o valor de n, que será não negativo (por isso unsigned int nas duas soluções) e depois vou lendo cada resposta como int (vai saber, pode ser um número negativo, o enunciado não explicita qualquer restrição). Basta, então, formatar a saída no formato solicitado e o aceite vem :)
Código em C:
Usei o while para iterar e a variável i, já utilizando no while com i++ para usar e depois incrementar, não necessitando de mais uma linha para isso. A solução é bem simples, mas se alguém não entender é só comentar!
#include <stdio.h>
int main() {
unsigned int n, i = 0;
int r;
scanf("%u", &n);
while (i++ < n) {
scanf("%d", &r);
printf("resposta %u: %d\n", i, r);
}
return 0;
}
Código em C++:
Na lógica não há mudanças, só troquei a estrutura de repetição utilizada (for em vez de while) e declarei "i" só dentro deste for. O valor de i também não será negativo, então também usei unsigned int.
#include <iostream>
using namespace std;
int main() {
unsigned int n;
int r;
cin >> n;
for (unsigned int i = 1; i <= n; i++) {
cin >> r;
cout << "resposta " << i << ": " << r << endl;
}
return 0;
}
A propósito, vocês preferem o código em texto claro (assim) ou formatado como fiz em outros posts?