Apresento nesse post a resposta para o problema Bobo da Corte, do BEECROWD. É um problema básico, cujo código é pequeno e simples de entender. Veja na sequência.
Plataforma: URI (BEECROWD)
Problema: 2963
Linguagens: C e C++
Solução:
A mesma lógica foi aplicada nas soluções em C e C++. Após ler "n" e "maior", le-se todos os valores "v". Mas se "v" for maior que "maior", uma variável controladora ("perdeu") recebe 1 e o fluxo de repetição é interrompido, pois já se sabe que a resposta é "N". Se todo while for percorrido, todos os valores "v" forem lidos e a condição v > maior nunca for satisfeita, "S" será a resposta.
Código em C:
Neste código a variável controladora é do tipo int, mas poderia ser short int ou qualquer outro tipo. O operador ternário foi utilizado no printf, mas poderia ter sido utilizado o if normalmente. É necessário \n para quebrar a linha, não esqueça!
#include <stdio.h> int main() { int n, v, maior, perdeu = 0; scanf("%d", &n); scanf("%d", &maior); while (--n) { scanf("%d", &v); if (v > maior) { perdeu = 1; break; } } printf("%c\n", (perdeu? 'N' : 'S')); return 0; }
#include <iostream> using namespace std; int main() { int n, v, maior; bool perdeu = false; cin >> n; cin >> maior; while (--n) { cin >> v; if (v > maior) { perdeu = true; break; } } cout << (perdeu? "N" : "S") << endl; return 0; }
Nenhum comentário:
Postar um comentário