Plataforma: URI (BEECROWD)
Problema: 2712
Enunciado:
O rodízio municipal de veículos de São Paulo é uma restrição à circulação de veículos automotores na cidade. Implantado desde 1996 com o propósito de melhorar as condições ambientais reduzindo a carga de poluentes na atmosfera, se consolidou como um instrumento para reduzir congestionamentos nas principais vias da cidade, nos horários de maior movimento. Nas vias delimitadoras não é permitido o tráfego de caminhões e automóveis que estejam dentro da restrição. Há uma escala que determina em quais dias da semana quais veículos não podem circular. Essa escala é regida pelo último dígito da placa do veículo, sendo:
Segunda-feira, digito final da placa 1 e 2
Terça-feira, digito final da placa 3 e 4
Quarta-feira, digito final da placa 5 e 6
Quinta-feira, digito final da placa 7 e 8
Sexta-feira, digito final da placa 9 e 0
Os motoristas que são flagrados violando a restrição de circulação são autuados com multa e quatro pontos na carteira de habilitação.
Linguagem: C++
Solução:
#include <iostream> #include <cctype> using namespace std; int main() { int n; string placa; cin >> n; cin.ignore(); while (n--) { getline(cin, placa); if (!(placa.size() == 8 && isupper(placa[0]) && isupper(placa[1]) && isupper(placa[2]) && placa[3] == '-' && isdigit(placa[4]) && isdigit(placa[5]) && isdigit(placa[6]) && isdigit(placa[7]))) cout << "FAILURE" << endl; else { switch (placa[7]) { case '1': case '2': cout << "MONDAY" << endl; break; case '3': case '4': cout << "TUESDAY" << endl; break; case '5': case '6': cout << "WEDNESDAY" << endl; break; case '7': case '8': cout << "THURSDAY" << endl; break; case '9': case '0': cout << "FRIDAY" << endl; break; } } } return 0; }