Opa! Estamos por aqui de novo e dessa vez para mostrar uma solução para o problema "Zerinho ou Um", da categoria ad-hoc. Esse eu achei fácil, e vocês? Depois me contem como ficou a solução de vocês! Igual ou diferente? Confiram as minhas respostas abaixo!
Plataforma: URI (BEECROWD)
Problema: 1467
Enunciado:
Todos devem conhecer o jogo Zerinho ou Um (em algumas regiões também conhecido como Dois ou Um), utilizado para determinar um ganhador entre três ou mais jogadores. Para quem não conhece, o jogo funciona da seguinte maneira. Cada jogador escolhe um valor entre zero ou um; a um comando (geralmente um dos competidores anuncia em voz alta “Zerinho ou... Um!”), todos os participantes mostram o valor escolhido, utilizando uma das mãos: se o valor escolhido foi um, o competidor mostra o dedo indicador estendido; se o valor escolhido foi zero, mostra a mão com todos os dedos fechados. O ganhador é aquele que tiver escolhido um valor diferente de todos os outros; se não há um jogador com valor diferente de todos os outros (por exemplo todos os jogadores escolhem zero, ou um grupo de jogadores escolhe zero e outro grupo escolhe um), não há ganhador. Alice, Beto e Clara são grandes amigos e jogam Zerinho a toda hora: para determinar quem vai comprar a pipoca durante a sessão de cinema, quem vai entrar na piscina primeiro, etc. Jogam tanto que resolveram fazer um plugin no Facebook para jogar Zerinho. Como não sabem programar, dividiram as tarefas entre amigos que sabem, inclusive você. Dados os três valores escolhidos por Alice, Beto e Clara, cada valor zero ou um, escreva um programa que determina se há um ganhador, e nesse caso determina quem é o ganhador.
Linguagens: C e C++
Solução:
Após ler os valores, verifica-se sempre se eles são iguais, caso em que a saída deve ser '*'. Se A for diferente de B e C, imprime A. Se B for diferente de A e C, imprime B, senão imprime C.
Código em C:
#include <stdio.h> int main() { int a, b, c; char vencedor; while (scanf("%i %i %i",&a, &b, &c) != EOF) { if (a == b && a == c) vencedor = '*'; else if (a != b && a != c) vencedor = 'A'; else if (b != a && b != c) vencedor = 'B'; else vencedor = 'C'; printf("%c\n", vencedor); } return 0; }
#include <iostream> using namespace std; int main() { int a, b, c; char vencedor; while(cin >> a >> b >> c) { if (a == b & a == c) vencedor = '*'; else if (a != b & a != c) vencedor = 'A'; else if (b != a & b != c) vencedor = 'B'; else vencedor = 'C'; cout << vencedor << endl; } return 0; }
Nenhum comentário:
Postar um comentário