Pesquisar este blog

Livros Recomendados

sexta-feira, 19 de março de 2021

URI (BEECROWD) - 2786 - Piso da Escola - Iniciante - C e C++

Exercício "Piso da Escola" resolvido nas duas linguagens que mais costumo resolver! Veja!

Plataforma: URI (BEECROWD)

Problema2786

Enunciado:

O colégio pretende trocar o piso de uma sala de aula e a diretora aproveitou a oportunidade para passar uma tarefa aos alunos. A sala tem o formato de um retângulo de largura L metros e comprimento C metros, onde L e C são números inteiros. A diretora precisa comprar lajotas de cerâmica para cobrir todo o piso da sala. Seria fácil calcular quantas lajotas seriam necessárias se cada lajota fosse um quadrado de 1 metro de lado. O problema é que a lajota que a diretora quer comprar é um quadrado que possui 1 metro de diagonal, não de lado. Além disso, ela quer preencher o piso da sala com as diagonais das lajotas alinhadas aos lados da sala, como na figura.

A loja vai fornecer lajotas do tipo 1: inteiras; do tipo 2, que correspondem à metade das do tipo 1, cortadas ao longo da diagonal; e lajotas do tipo 3, que correspondem à metade do tipo 2. Veja os três tipos de lajotas na figura.

Está muito claro que sempre serão necessárias 4 lajotas do tipo 3 para os cantos da sala. A tarefa que a diretora passou para os alunos é calcular o número de lajotas dos tipos 1 e 2 que serão necessárias. Na figura, para L = 3 e C = 5, foram necessárias 23 do tipo 1 e 12 do tipo 2. Seu programa precisa computar, dados os valores de L e C, a quantidade de lajotas do tipo 1 e do tipo 2 necessárias.


Linguagens: C e C++


Solução:

Um exercício extremamente fácil. Após ler o enunciado, precisamos apenas ler dois valores e realizar as contas a seguir:

l x c + (l-1) x (c-1)

e

(l-1) + (l-1) + (c-1) + (c-1)

Imprima o resultado dessas duas contas e obtenha o aceite! 

Código em C:

#include <stdio.h>

int main() {
    int l, c;
    scanf("%i", &l);
    scanf("%i", &c);
    printf("%i\n", l * c + (l-1) * (c-1));
    printf("%i\n", (l-1) + (l-1) + (c-1) + (c-1));

    return 0;
}

Código em C++:

#include <iostream>
using namespace std;
int main() {
    int l, c;
    cin >> l >> c;
    cout << l * c + (l-1) * (c-1) << endl;
    cout << (l-1) + (l-1) + (c-1) + (c-1) << 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