sexta-feira, 30 de junho de 2017

URI PROBLEMA 1848 - Corvo Contador SOLUÇÃO EM C

URI Online Judge | 1848

Corvo Contador

Por Emilio Wuerges, UFFS BR Brazil
Timelimit: 1
Como se sabe, existe um corvo com três olhos. O que não se sabia é que o corvo com três olhos pode prever o resultado da loteria de Westeros. Enquanto todos os outros corvos coletam as apostas, o corvo de três olhos já sabe o resultado, e quando Bran sonha com o corvo, o corvo conta o resultado. O problema é que Bran apesar de lembrar do sonho, não consegue interpretá-lo sozinho em tempo hábil. A sua tarefa é fazer um programa para interpretar o sonho de Bran e calcular o resultado da loteria.
Durante o sonho, o corvo pisca diversas vezes e grita apenas 3 vezes. A cada grito um número do resultado da loteria é calculado.
Cada piscada do corvo comunica um número em binário. Um olho aberto significa 1 e um olho fechado significa 0. O olho da esquerda é o mais significativo e o da direita é o menos significativo. A cada piscada, este número deve ser somado, e quando o corvo grita, essa soma é um resultado.

Entrada

A entrada descreve, em cada linha, em sequência, ou um grito ou uma piscada do corvo.
Um grito é representado pela string caw caw
Uma piscada é representada por três caracteres * ou -, representando, respectivamente, um olho aberto ou um olho fechado, da esquerda para a direita.
Lembre-se que o corvo tem 3 olhos.
Os números sorteados na loteria não excedem 1000.

Saída

A saída são três linhas, cada linha com um número da loteria.

#include <stdio.h>
#include <string.h>
int main()
{
    int a,b,c,d,e,f,i,sum=0;
    char ara[10];
    for(i=1; i<=3; i++)
    {
        sum=0;
        while(1)
        {
            gets(ara);
            if(ara[0]=='c') break;

            if(ara[0]=='-')
            {
                if(ara[1]=='-')
                {
                    if(ara[2]=='-') sum+=0;
                    else sum+=1;
                }
                else
                {
                    if(ara[2]=='-') sum+=2;
                    else sum+=3;
                }
            }
            else if(ara[0]=='*')
            {
                if(ara[1]=='-')
                {
                    if(ara[2]=='-')sum+=4;
                    else sum+=5;
                }
                else
                {
                    if(ara[2]=='-') sum+=6;
                    else sum+=7;
                }
            }
        }
        printf("%d\n", sum);
    }
    return 0;
}

Nenhum comentário:

Postar um comentário

URI PROBLEMA 1133 - Resto da Divisão SOLUÇÃO EM C

URI Online Judge | 1133 Resto da Divisão Adaptado por Neilor Tonin, URI   Brasil Timelimit: 1 Escreva um programa que leia 2 valo...