Antes de resolver qualquer algoritmo do URI (BEECROWD agora), recomendamos seguir os seguintes passos:
- Ler todo enunciado do problema.
- Ler os tópicos do fórum em caso de dúvidas
- Preparar arquivos de entrada para teste, considerando as entradas de exemplo do URI, do udebug e outros valores limite;
- Preparar o ambiente de desenvolvimento e utilizar os mesmos parâmetros dos compiladores do URI
- Preparar um código-fonte padrão, já contendo a chamada às bibliotecas padrão, pré-processadores, retorno de função e um comando de escrita com "\n", pois no URI a grande maioria dos problemas exige a quebra de linha final.
Plataforma: URI (BEECROWD)
Problema: 3129
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> #include <stdlib.h> #define TAM 10000 int compara(const void *a, const void *b) { return (*(int*)a - *(int*)b); } int main() { int n, figurinhas[TAM], i, r = 0; scanf("%i ", &n); for (i = 0; i < n; i++) scanf("%i", &figurinhas[i]); qsort(figurinhas, n, sizeof(int), compara); for (i = 1; i < n; i++) if (figurinhas[i] == figurinhas[i-1]) r++; printf("%i\n%i\n", n - r, r); return 0; }
Código em C++:
#include <algorithm> #include <iostream> #include <set> #define TAM 10000 using namespace std; int main() { int n, v; set<int> figurinhas; cin >> n; cin.ignore(); for (int i = 0; i < n; i++) { cin >> v; figurinhas.insert(v); } int r = figurinhas.size(); cout << r << endl; cout << n - r << endl; return 0; }
Nenhum comentário:
Postar um comentário