Pesquisar este blog

Livros Recomendados

terça-feira, 23 de fevereiro de 2021

URI (BEECROWD) - 1794 - Lavanderia - Ad-Hoc - C e C++

Novo exercício Ad-hoc postado! O exercício Lavanderia, do Beecrowd, foi bem fácil de resolver. Confira a resposta!

Plataforma: URI (BEECROWD)

Problema1794

Enunciado:

Cansada de lavar suas roupas sujas, sua mãe decidiu que a partir de agora quem lava suas roupas é você.

Na lavanderia da sua casa existe uma lavadora e uma secadora de roupas, cada uma com um limite mínimo e máximo de peças a serem lavadas e secadas por vez. Assim sendo, a lavadora só deve ser usada se forem colocadas no mínimo LA e no máximo LB peças dentro dela, e semelhantemente a secadora só deve ser usada se forem colocadas no mínimo SA e no máximo SB peças dentro dela.

Você tem atualmente N peças de roupa a serem lavadas e secadas, e quer descobrir se é possível usar a lavadora e secadora para lavar e secar todas as suas peças, seguindo as regras acima.

Linguagens: C e C++

Solução:

Os dois códigos abaixo seguem a mesma lógica. Todas as variáveis lidas foram declaradas como short unsigned int por receberem somente valores pequenos e não negativos. Para saber se era impossível, bastava testar se n era menor que la ou sa, ou se n era maior que lb ou sb. Se uma dessas condições fosse satisfeita já deveria imprimir "impossível". Caso contrário deve imprimir possível. Para escrever menos, deixei só o texto "im" caso uma dessas condições fosse satisfeita. Depois, o texto possível sempre deveria ser escrito, formando "impossível" ou "possível", dependendo da satisfação da condição.

Código em C:

#include <stdio.h>

int main() {
    
    short unsigned int n, la, lb, sa, sb;
    scanf("%hu %hu %hu %hu %hu", &n, &la, &lb, &sa, &sb);
    
    if (n < la || n > lb || n < sa || n > sb)
        printf("im");
    
    printf("possivel\n");

    return 0;
}

Código em C++:

#include <iostream>

using namespace std;

int main() {
    
    short unsigned int n, la, lb, sa, sb;
    cin >> n >> la >> lb >> sa >> sb;
    
    if (n < la || n > lb || n < sa || n > sb)
        cout << "im";
    
    cout << "possivel" << endl;
        

    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