Novo problema ad-hoc solucionado! Esse é o problema "Cara ou Coroa" e foi bastante simples de se resolver. Veja abaixo! :)
Problema: 1329
Enunciado:
João e Maria são amigos desde que se conheceram na creche. Desde então, eles compartilham uma rotina de brincadeiras: todas as vezes que eles se encontram, eles jogam Cara ou Coroa com uma moeda, e quem ganhar tem o privilégio de decidir quais brincadeiras eles irão jogar durante o dia. Maria sempre escolhe cara, e João sempre escolhe coroa. Hoje em dia eles estão na faculdade, mas continuam sendo bons amigos. Sempre que se encontram, eles ainda jogam Cara ou Coroa, e o vencedor decide que filme assistir, ou em que restaurante jantar, e assim por diante. Ontem Maria contou a João que ela guarda um registro de todas as vezes que eles jogaram, desde os tempos da creche. João ficou espantado. Porém João está estudando Ciência da Computação e decidiu que essa era uma boa oportunidade para mostrar a Maria suas habilidades em programação, escrevendo um programa que mostrasse o número de vezes que cada um deles venceu ao longo de todos esses anos.
(Desafio da Maratona de Programação da SBC de 2004)
Linguagens: C e C++
Solução:
Enunciado:
João e Maria são amigos desde que se conheceram na creche. Desde então, eles compartilham uma rotina de brincadeiras: todas as vezes que eles se encontram, eles jogam Cara ou Coroa com uma moeda, e quem ganhar tem o privilégio de decidir quais brincadeiras eles irão jogar durante o dia. Maria sempre escolhe cara, e João sempre escolhe coroa. Hoje em dia eles estão na faculdade, mas continuam sendo bons amigos. Sempre que se encontram, eles ainda jogam Cara ou Coroa, e o vencedor decide que filme assistir, ou em que restaurante jantar, e assim por diante. Ontem Maria contou a João que ela guarda um registro de todas as vezes que eles jogaram, desde os tempos da creche. João ficou espantado. Porém João está estudando Ciência da Computação e decidiu que essa era uma boa oportunidade para mostrar a Maria suas habilidades em programação, escrevendo um programa que mostrasse o número de vezes que cada um deles venceu ao longo de todos esses anos.
(Desafio da Maratona de Programação da SBC de 2004)
Linguagens: C e C++
Basta verificar quando o resultado é zero (Mary venceu) e contar a quantidade de vezes que isso acontece. Sabendo o valor de vezes que Mary venceu e o valor de n, sabemos também que John venceu n-mary vezes. Essa estratégia foi adotada nos dois códigos abaixo.
Código em C:
#include <stdio.h> int main() { int n, i, resultado, mary; while (1) { scanf("%i", &n); if (n == 0) break; i = 0; mary = 0; while (i++ < n) { scanf("%i", &resultado); if (resultado == 0) mary++; } printf("Mary won %i times and John won %i times\n", mary, n - mary); } return 0; }
:
#include <iostream> using namespace std; int main() { int n, i, resultado, mary; while (1) { cin >> n; if (n == 0) break; i = 0; mary = 0; while (i < n) { cin >> resultado; if (resultado == 0) mary++; i++; } cout << "Mary won " << mary << " times and John won " << n - mary << " times" << endl; } return 0; }
Nenhum comentário:
Postar um comentário