Pesquisar este blog

Livros Recomendados

quarta-feira, 3 de março de 2021

URI (BEECROWD) - 2061 - As Abas de Péricles - Iniciante - C e C++

As Abas de Péricles é um exercício bom para iniciantes em programação. O exercício é bem simples e as soluções estão abaixo, bom proveito!

Plataforma: URI (BEECROWD)

Problema2061

Enunciado:

Péricles é um rapaz que tem um interesse único por história. Utilizando seu atualizadíssimo navegador de internet rapoza cromada, conheceu até os sitios mais remotos e obscuros atrás de informações sobre a mitologia grega.

Por ironia do destino, o navegador de Péricles acabou sendo infectado por um malware com uma caracterísica peculiar: cada vez que Péricles fechava uma aba no seu navegador, outras duas abas apareciam! No entanto, quando Péricles clicou sem querer em uma das propagandas de uma aba, percebeu que, por um erro do navegador, a aba foi encerrada (sem abrir outras abas). Por causa do malware, todas as abas possuem irritantes propagandas.

Sua tarefa é descobrir com quantas abas que o navegador de Péricles ficou, sabendo o número inicial de abas e a sequência de ações de Péricles. As ações podem ser fechou (quando Péricles fechou uma aba) ou clicou (quando Péricles clicou em uma propaganda).

Linguagens: C e C++


Solução:

Aqui basta testar qual é a palavra informada. Eu nem testei a palavra inteira, assumindo que a entrada será sempre uma das duas (fechou/clicou), peguei só o caractere da primeira posição. Se for f, significa que ele digitou fechou.

Código em C:

#include <stdio.h>

int main() {
    int n, m;
    char* acao = (char *) malloc(sizeof(char) * 8);
    scanf("%i %i ", &n, &m);
    
    while (m--) {
        scanf("%s ", acao);
        
        if (acao[0] == 'f')
            n++;
        
        else
            n--;
    }
    
    printf("%i\n", n);

    return 0;
}

Código em C++:

#include <iostream>

using namespace std;

int main() {
    int n, m;
    string acao;
    
    cin >> n >> m;
    cin.ignore();
    
    while (m--) {
        getline(cin, acao);
        
        if (acao[0] == 'f')
            n++;
        
        else
            n--;
    }
    
    cout << n << endl;

    return 0;
}

Nenhum comentário:

Postar um comentário

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas