Plataforma: URI (BEECROWD)
Problema: 2626
Enunciado:
Dodô, Leo e Pepper passam várias madrugadas conversando, em algum lugar do Condomínio Jardim Botânico IV. Diversos assuntos astrais ganham pauta nestas conversas homéricas. Nas últimas sessões, Dodô tem falado do jogo de RPG que ele e Leo estão inventando, Leo (para “variar”, mas com razão) tem falado do gênero musical heavy metal e Pepper ficou fascinado com a história da mitologia grega contada por Leo.
Os garotos resolveram adotar uma estratégia para dividir as sessões igualmente entre os assuntos, de modo que eles possam especular cada um ao máximo e chegarem a conclusões astronômicas. Eles irão jogar “pedra, papel e tesoura” para decidir o assunto da sessão de hoje, e então irão alternar os assuntos nas próximas sessões. Dadas as jogadas de Dodô, Leo e Pepper, nesta ordem, você deve determinar o assunto da sessão de hoje.
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> #include <string.h> int viraNumero(char str[]) { if (!strcmp(str, "pedra")) return 0; if (!strcmp(str, "papel")) return 1; return 2; } int main() { char dodo[9], leo[9], pepper[9]; while (scanf("%s %s %s", dodo, leo, pepper) != EOF) { int r; int d, l, p; d = viraNumero(dodo); l = viraNumero(leo); p = viraNumero(pepper); if ((d == 1 && !l && !p) || (!d && l==2 && p==2) || (d==2 && l==1 && p==1)) printf("Os atributos dos monstros vao ser inteligencia, sabedoria...\n"); else if ((!d && l==1 && !p) || (d==2 && !l && p==2) || (d==1 && l==2 && p==1)) printf("Iron Maiden's gonna get you, no matter how far!\n"); else if ((!d && !l && p==1) || (d==2 && l==2 && !p) || (d==1 && l==1 && p==2)) printf("Urano perdeu algo muito precioso...\n"); else printf("Putz vei, o Leo ta demorando muito pra jogar...\n"); } return 0; }
#include <iostream> using namespace std; int viraNumero(string str) { if (!str.compare("pedra")) return 0; if (!str.compare("papel")) return 1; return 2; } int main() { string dodo, leo, pepper; while (cin >> dodo >> leo >> pepper) { int r; int d, l, p; d = viraNumero(dodo); l = viraNumero(leo); p = viraNumero(pepper); if ((d == 1 && !l && !p) || (!d && l==2 && p==2) || (d==2 && l==1 && p==1)) cout << "Os atributos dos monstros vao ser inteligencia, sabedoria..." << endl; else if ((!d && l==1 && !p) || (d==2 && !l && p==2) || (d==1 && l==2 && p==1)) cout << "Iron Maiden's gonna get you, no matter how far!" << endl; else if ((!d && !l && p==1) || (d==2 && l==2 && !p) || (d==1 && l==1 && p==2)) cout << "Urano perdeu algo muito precioso..." << endl; else cout << "Putz vei, o Leo ta demorando muito pra jogar..." << endl; } return 0; }