Nova solução! A Mensagem de Will é um problema de iniciantes. Resolvi com poucas linhas de código. Confira abaixo!
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: 2523
Enunciado:
Ao voltar de um intenso jogo de RPG na casa de um amigo, o jovem Will desapareceu misteriosamente! Todos estão desesperadamente procurando por ele por todos os cantos. Enquanto isso, coisas estranhas estão acontecendo em sua casa. Uma delas, entretanto, lhe permite comunicar-se com o garoto!
Há exatamente 26 lâmpadas penduradas na parede da sua sala, numeradas de 1 a 26 da esquerda para a direita. Além disso, há uma letra do alfabeto pintada na parede em baixo de cada lâmpada. Quando Will quer lhe enviar uma mensagem, ele irá (misteriosamente) piscar, uma a uma, as lâmpadas correspondentes a cada letra de sua mensagem. Por exemplo, se ele quer enviar a mensagem HELP, ele irá piscar, nesta ordem, as lâmpadas acima das letras H, E, L e P.
Dada a letra associada a cada lâmpada e a ordem das lâmpadas que foram piscadas por Will, decifre a mensagem que ele enviou!
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> int main () { char alfabeto[27]; int lampadasPiscadas, posicaoLampadaPiscada; while (scanf("%s ", alfabeto) != EOF) { scanf("%i ", &lampadasPiscadas); while (lampadasPiscadas--) { scanf("%i ", &posicaoLampadaPiscada); printf("%c", alfabeto[posicaoLampadaPiscada-1]); } printf("\n"); } return 0; }
Código em C++:
#include <iostream> using namespace std; int main () { string alfabeto; int lampadasPiscadas, posicaoLampadaPiscada; while (getline(cin, alfabeto)) { cin >> lampadasPiscadas; while (lampadasPiscadas--) { cin >> posicaoLampadaPiscada; cout << alfabeto[posicaoLampadaPiscada-1]; } cout << endl; cin.ignore(); } return 0; }
Nenhum comentário:
Postar um comentário