Desenvolvimento de um programa relacionado a aninhamento em C

1. Desenvolvimento de um programa relacionado a aninhamento em C

arthur inacio goncalves
damagosh

(usa Outra)

Enviado em 04/10/2021 - 20:08h

Vladimir trabalhou por muitos anos fazendo Matrioshkas, aquelas bonecas aninhadas que representam o ofício russo. Uma matrioshka é uma boneca que pode ser aberta, de modo que dentro dela se encontre outra boneca. Então, esta segunda boneca pode ser novamente aberta para se encontrar outra. Este processo pode ser repetido até que uma boneca final, que não pode ser aberta, seja encontrada.

Recentemente, Vladimir percebeu que a idéia de bonecas Matrioshkas pode ser generalizada para brinquedos aninhados. Dessa forma, ele projetou brinquedos que contêm brinquedos, introduzindo um novo recurso: um brinquedo desses, ao ser aberto, pode conter um ou mais brinquedos em seu interior. Estes novos brinquedos são chamados de Matrioshkas Generalizadas.


Um brinquedo é representado por um número inteiro positivo, que é seu tamanho. Dentro de um brinquedo M encontra-se os brinquedos n_1, n_2, ..., n_r, de forma que n_1 + n_2 + ...+ n_r < M. Neste caso, dizemos que o brinquedo M contém diretamente os brinquedos n_1, n_2, ..., n_r. Entretanto, M não contém diretamente os brinquedos que estão dentro de n_1, n_2, ..., ou n_r.

Uma matrioshka generalizada é denotada por uma sequência não vazia de inteiros da forma:
a_1, a_2, ..., a_n
(a_i != 0)

de tal modo que o brinquedo k é representado na sequência por dois números inteiros -k e k, com o valor negativo ocorrendo antes do positivo.

Por exemplo, a sequência:
-9 -7 -2 2 -3 -2 -1 1 2 3 7 9
representa uma matrioshka generalizada formada por seis brinquedos: 1, 2 (duas vezes), 3, 7 e 9. Observe que o brinquedo 9 contém diretamente o brinquedo 7 que, por sua vez, contém diretamente os brinquedos 2 e 3. O brinquedo 3 contém diretamente a segunda cópia do brinquedo 2 que, por sua vez, contém diretamente o brinquedo 1. Note que o primeiro -2 deve ser emparelhado com primeiro 2 e não com o último.
Por outro lado, as seguintes sequências não descrevem Matrioshkas generalizadas.

-9 -7 -2 2 -3 -1 -2 2 1 3 7 9
não é uma Matrioshka generalizada porque o brinquedo 1 contém diretamente o brinquedo 2, mas o brinquedo 2 não cabe dentro de 1.

-9 -7 -2 2 -3 -2 -1 1 2 3 7 -2 2 9
não é uma Matrioshka generalizada porque o brinquedo 9 contém diretamente os brinquedos 7 e 2, mas 7+2 não é menor que 9.

-9 -7 -2 2 -3 -1 -2 3 2 1 7 9
não é uma Matrioshka generalizada porque existe um problema de aninhamento dentro do brinquedo 3.

Especificação de entrada e saída
Entrada
A entrada contém vários casos de teste, a primeira linha de cada caso de teste contém o tamanho n da sequência a ser lida. A próxima linha contém a sequência a_1, a_2, ..., a_n de números inteiros deferentes de zero (cada a_i possui um valor absoluto inferior a 10^7). Quando n for igual a 0 a entrada termina.

Saída
A saída deve ser apresentada na mesma ordem de leitura dos casos de teste. Para cada caso de teste, se a sequência descreve uma matrioshka generalizada a resposta deve ser:

:-) Matrioshka!

Caso contrário, a resposta deve ser:

:-( Tente novamente.

Exemplos
Entrada Saída
12
-9 -7 -2 2 -3 -2 -1 1 2 3 7 9 :-) Matrioshka!
12
-9 -7 -2 2 -3 -1 -2 2 1 3 7 9 :-( Tente novamente.
12
-9 -7 -2 2 -3 -1 -2 3 2 1 7 9 :-( Tente novamente.
6
-100 -50 -6 6 50 100 :-) Matrioshka!
6
-100 -50 -6 6 45 100 :-( Tente novamente.
10
-10 -5 -2 2 5 -4 -3 3 4 10 :-) Matrioshka!
10
-9 -5 -2 2 5 -4 -3 3 4 9 :-( Tente novamente.
0




  


2. Re: Desenvolvimento de um programa relacionado a aninhamento em C

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 04/10/2021 - 22:16h


O enunciado tá muito grande. Fiquei com preguiça de ler até o final mas parece um problema interessante.


3. Re: Desenvolvimento de um programa relacionado a aninhamento em C

Paulo
paulo1205

(usa Ubuntu)

Enviado em 09/10/2021 - 13:43h

OK. Eis o enunciado. Qual sua dúvida a respeito?

Já estudou estrutura de dados? Já ouviu fala de pilhas?


... Então Jesus afirmou de novo: “(...) eu vim para que tenham vida, e a tenham plenamente.” (João 10:7-10)






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts