Pesquisar este blog

Livros Recomendados

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

sexta-feira, 19 de março de 2021

URI (BEECROWD) - 2783 - Figurinhas da Copa - Iniciante - C e C++

Solução do exercício "Figurinhas da Copa"! Veja abaixo nas principais linguagens resolvidas e disponibilizadas neste blog!

Plataforma: URI (BEECROWD)

Problema2783

Enunciado:

Em ano de Copa do Mundo de Futebol, o álbum de figurinhas oficial é sempre um grande sucesso entre crianças e também entre adultos. Para quem não conhece, o álbum contém espaços numerados de 1 a N para colar as figurinhas; cada figurinha, também numerada de 1 a N, é uma pequena foto de um jogador de uma das seleções que jogará a Copa do Mundo. O objetivo é colar todas as figurinhas nos respectivos espaços no álbum, de modo a completar o álbum (ou seja, não deixar nenhum espaço sem a correspondente figurinha).

Algumas figurinhas são carimbadas (efetivamente têm um carimbo impresso sobre a fotografia do jogador) e são mais raras, mais difíceis de conseguir. As figurinhas são vendidas em envelopes fechados, de forma que o comprador não sabe quais figurinhas está comprando, e pode ocorrer de comprar uma figurinha que ele já tenha colado no álbum.

Para ajudar os usuários, a empresa responsável pela venda do álbum e das figurinhas quer criar um aplicativo que permita gerenciar facilmente as figurinhas que faltam para completar o álbum.

Dados o número total de espaços e figurinhas do álbum (N), a lista das figurinhas carimbadas e uma lista das figurinhas já compradas (que pode conter figurinhas repetidas), sua tarefa é determinar quantas figurinhas carimbadas faltam para completar o álbum.


Linguagens: C e C++

Solução:

Lógica idêntica utilizada em C e C++. Lê todos os valores, verifica as figurinhas compradas e compara se são iguais às carimbadas. Se forem, decrementa o valor de r, que no final conterá a resposta.

Código em C:

#include <stdio.h>

int main() {
    
    int n, c, m, i = 0, j = 0;
    scanf("%d %d %d ", &n, &c, &m);
    
    int carimbadas[c], r = c, compradas[m];
    while (j < c)
        scanf("%d", &carimbadas[j++]);

    while (i < m)
        scanf("%d", &compradas[i++]);
    
    for (j = 0; j < c; j++) {
        for (i = 0; i < m; i++) {
            if (carimbadas[j] == compradas[i]) {
                r--;
                break;
            }
        }
    }
    
    printf("%d\n", r);

    return 0;
}

Código em C++:

#include <iostream>

using namespace std;

int main() {
    
    int n, c, m, i = 0, j = 0;
    cin >> n >> c >> m;
    
    int carimbadas[c], r = c, compradas[m];
    while (j < c)
        cin >> carimbadas[j++];

    while (i < m)
        cin >> compradas[i++];
    
    for (j = 0; j < c; j++) {
        for (i = 0; i < m; i++) {
            if (carimbadas[j] == compradas[i]) {
                r--;
                break;
            }
        }
    }
    
    cout << r << 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