Pesquisar este blog

Livros Recomendados

terça-feira, 5 de dezembro de 2023

URI (BEECROWD) - 3357 - Rico do Mate - Estruturas e Bibliotecas - C e C++

Mais uma solução nova! Agora é o exercício 3357 (Rico do Mate), da categoria estruturas e bibliotecas!

Plataforma: URI (BEECROWD)

Problema3357

EnunciadoA erva-mate (Ilex paraguariensis) é uma planta nativa da América do Sul que é utilizada para a preparação de uma das bebidas mais característica e apreciada em boa parte da região sul do Brasil, o chimarrão. Normalmente consumido de forma compartilhada, os participantes formam uma roda e vão passando a cuia de mão-em-mão: após ingerir o chá de seu interior, um participante da roda de mate enche a cuia e passa para o próximo.

Por sua forte presença cultural, existem diversas crenças e lendas associadas à roda de mate, uma delas diz respeito à cuia que leva a última água da garrafa térmica. Segundo a crença, a pessoa mateadora que recebe esta última cuia vai ficar rica, talvez seja uma consolação, pois essa mateadora normalmente recebe menos chá.

Sabendo desta crença, uma mateadora ávida em programação decidiu fazer um programa para ajudar a descobrir quem será a rica do mate e o quanto de chimarrão ela vai tomar. Para tanto, ela leva em consideração o volume L de água da térmica, a quantidade Q de água que cabe em uma cuia e as pessoas que formam a roda.

Solução:

Aí vai!


Código em C++:

#include <iostream>

#include <iomanip>

using namespace std;

int main() {

    int n;

    double l, q;

    cin >> n >> l >> q;

    string nomes[n];

    for (int i = 0; i < n; i++)

     cin >> nomes[i];

    int x = (int) (l / q);

    int r = x % n;

    double qtd = l - (x * q);

    if (qtd == 0.0) {

     qtd += q;

     r = (x - 1) % n;

    }

    cout << fixed <<  setprecision(1) << nomes[r] << " " << qtd << endl;

    return 0;

}


Código em C:

#include <stdio.h>

int main() {

    int n;

    double l, q;

    scanf("%d %lf %lf", &n, &l, &q);

    char nomes[n][13];

    for (int i = 0; i < n; i++)

        scanf("%s ", nomes[i]);

    int x = (int) (l / q);

    int r = x % n;

    double qtd = l - (x * q);

    if (qtd == 0.0) {

     qtd += q;

     r = (x - 1) % n;

    }

    printf("%s %.1lf\n", nomes[r], qtd);

    return 0;

}

Nenhum comentário:

Postar um comentário

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