Pesquisar este blog

Livros Recomendados

Mostrando postagens com marcador 1140. Mostrar todas as postagens
Mostrando postagens com marcador 1140. Mostrar todas as postagens

sábado, 9 de janeiro de 2021

URI - 1140 - Ad-Hoc - Flores Florescem da França - C

Plataforma: URI

Problema1140

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 <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
    int r, quant;
    char linha[2700], primeiro, proximo, *token;
    while (fgets(linha, 3000, stdin) != NULL) {
        r = 1;
        primeiro = toupper(linha[0]);
        if (primeiro == '*')
            exit(0);
        quant = 0;
        token = strtok(linha, " \n");
        while (token != NULL) {
            proximo = toupper(token[0]);
            token = strtok(NULL, " \n");
            if (isalpha(primeiro) && isalpha(proximo) && primeiro != proximo)
                r = 0;
            quant++;
        }
        if (r || !quant)
            printf("Y\n");
        else
            printf("N\n");
    }
    return 0;
}

URI - 1140 - Ad-Hoc - Flores Florescem da França - C++

Plataforma: URI

Problema1140

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;
}

Postagem em destaque

URI (BEECROWD) - 2158 - Helping Uncle Cláudio (Ajudando o Tio Cláudio) - Matemática - C, C++ e Haskell

Buenas! Estou aqui mais uma vez para resolver um problema de Matemática! Agora tenho resolvido alguns dessa categoria, pra que vocês possam ...

Postagens mais visitadas