Plataforma: URI
Problema: 1140
Enunciado:
Fiona sempre amou poesia, e recentemente descobriu uma forma poética fascinante. Tautogramas são um caso especial de aliteração, que é a ocorrência da mesma letra no início de palavras adjacentes. Em particular, uma sentença é um tautograma se todas suas palavras começam com a mesma letra.
Por exemplo, as seguintes sentenças são tautogramas:
- Flowers Flourish from France
- Sam Simmonds speaks softly
- Peter pIckEd pePPers
- truly tautograms triumph
Fiona quer deslumbrar seu namorado com uma carta romântica repleta desse tipo de sentenças. Por favor, ajude Fiona a verificar se cada sentença que ela escreveu é um tautograma ou não.
Linguagem: C++
Solução:
#include <cctype> #include <iostream> #include <cstdlib> using namespace std; int main() { string linha, sep = " ", token; char primeiro, proximo; int pos, r, quant; while (getline(cin, linha)) { pos = 0; r = 1; quant = 0; primeiro = toupper(linha[0]); if (primeiro == '*') exit(0); while ((pos = linha.find(sep)) != string::npos && r) { linha.erase(0, pos + sep.length()); token = linha.substr(0, pos); proximo = toupper(token[0]); if (isalpha(primeiro) && isalpha(proximo) && primeiro != proximo) r = 0; quant++; } if (isalpha(primeiro) && isalpha(token[0]) && primeiro != toupper(token[0])) r = 0; if (r || !quant) cout << "Y" << endl; else cout << "N" << endl; } return 0; }
Nenhum comentário:
Postar um comentário