// Olimpíadas Nacionais de Informática 2020 // Treino #01: Problema A - Baralho de Cartas // Transcrição da solução oficial #include #include #include using namespace std; const int MAXB = 5; const int MAXN = 20; bool bio[MAXB][MAXN]; int getColor(char chr) { if (chr == 'O') return 0; if (chr == 'C') return 1; if (chr == 'P') return 2; if (chr == 'E') return 3; return -1; } int main(void) { int ncases; cin >> ncases; for (int c=0; c> s; bool error = false; for (int i = 0; i < (int)s.size(); i += 3) { int b = getColor(s[i]); int x = (s[i + 1] - '0') * 10 + s[i + 2] - '0'; if (bio[b][x]) { error = true; printf("ERRO\n"); break; } bio[b][x] = true; } if (!error) { for (int i = 0; i < 4; ++i) { int cnt = 0; for (int j = 1; j <= 13; ++j) if (bio[i][j]) cnt++; printf("%s%d", i>0?" ":"", 13 - cnt); } printf("\n"); } } return 0; }