Mais um exercício resolvido em C e C++ da plataforma BEECROWD. Veja abaixo as soluções.
Plataforma: URI (BEECROWD)
Problema: 3053
Linguagens: C e C++
Solução:
Código em C:
#include <stdio.h> int main() { int n, troca; char pos; scanf("%d %c", &n, &pos); while (n--) { scanf("%d", &troca); if (troca == 1 && (pos == 'A' || pos == 'B')) pos = (pos == 'A'? 'B' : 'A'); else if (troca == 2 && (pos == 'B' || pos == 'C')) pos = (pos == 'B'? 'C' : 'B'); else if (troca == 3 && (pos == 'A' || pos == 'C')) pos = (pos == 'C'? 'A' : 'C'); } printf("%c\n", pos); return 0; }
Código em C++:
#include <iostream> using namespace std; int main() { int n, troca; char pos; cin >> n >> pos; while (n--) { cin >> troca; if (troca == 1 && (pos == 'A' || pos == 'B')) pos = (pos == 'A'? 'B' : 'A'); else if (troca == 2 && (pos == 'B' || pos == 'C')) pos = (pos == 'B'? 'C' : 'B'); else if (troca == 3 && (pos == 'A' || pos == 'C')) pos = (pos == 'C'? 'A' : 'C'); } cout << pos << endl; return 0; }