Fala, pessoal! Novo exercício da categoria Ad-Hoc agora! Confiram e comparem com as respostas de vocês!
Plataforma: URI (BEECROWD)
Problema: 2479
Enunciado:
Papai Noel está nos preparativos finais para a entrega dos presentes para as crianças do mundo todo pois o natal está chegando mais uma vez. Olhando suas novas listas de crianças que irão ganhar presentes neste ano ele percebeu que o duende estagiário (que havia ficado responsável por fazer as listas) não havia colocado os nomes em ordem alfabética.
Como o Papai Noel é um homem muito organizado ele deseja que cada lista de crianças possua, no seu final, o total de crianças que foram bem comportadas neste ano e um total das que não foram. Assim ele pode comparar a quantidade de crianças que se comportam este ano com as dos anos anteriores.
Para ajudar o bom velhinho, seu dever é criar um programa que leia todos os nomes da lista e imprima os mesmos nomes em ordem alfabética. No final da lista, você deve imprimir o total de crianças que foram e não foram comportadas neste ano.
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> #include <stdlib.h> #include <string.h> int compara(const void *p1, const void *p2) { return strcmp(p1, p2); } int main() { int n, i, comportados = 0; char sinal; char nomes[100][21]; scanf("%d ", &n); for (i = 0; i < n; i++) { scanf("%c %s ", &sinal, nomes[i]); if (sinal == '+') comportados++; } qsort(nomes, n, 21, compara); for (i = 0; i < n; i++) printf("%s\n", nomes[i]); printf("Se comportaram: %d | Nao se comportaram: %d\n", comportados, n - comportados); return 0; }
Código em C++:
#include <algorithm> #include <vector> #include <iostream> using namespace std; int main() { int n, i, comportados = 0; char sinal; string str; vector<string> nomes; cin >> n; cin.ignore(); for (i = 0; i < n; i++) { cin >> sinal >> str; if (sinal == '+') comportados++; nomes.push_back(str); } sort(nomes.begin(), nomes.end()); for (i = 0; i < nomes.size(); i++) cout << nomes.at(i) << endl; cout << "Se comportaram: " << comportados << " | Nao se comportaram: " << n - comportados << endl; return 0; }
Nenhum comentário:
Postar um comentário