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)
Problema: 2061
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; }