Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 2626. Mostrar todas as postagens
Mostrando postagens com marcador 2626. Mostrar todas as postagens

quarta-feira, 17 de março de 2021

URI (BEECROWD) - 2626 - Turma do JB6 - Iniciante - C e C++

Plataforma: URI (BEECROWD)

Problema2626

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;
}

Código em C++:

#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;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas