Solução do exercício "Figurinhas da Copa"! Veja abaixo nas principais linguagens resolvidas e disponibilizadas neste blog!
Plataforma: URI (BEECROWD)
Problema: 2783
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; }
Nenhum comentário:
Postar um comentário