Difference between revisions of "Problema da sopa de letras (versão cruzadinha)"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == Dificuldade 1 == Versão cruzadinha inspirada em http://www.topcoder.com/stat?c=problem_statement&pm=9821&rd=13526 Considere o problema da [[Problema da sopa de letras na formação d...)
 
(Parâmetros)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Dificuldade 1 ==
+
Versão cruzadinha inspirada em http://www.topcoder.com/stat?c=problem_statement&pm=9821&rd=13526
Versão cruzadinha inspirada em http://www.topcoder.com/stat?c=problem_statement&pm=9821&rd=13526
+
  
Considere o problema da [[Problema da sopa de letras na formação de palavras|sopa de letras]], mas desta vez trabalhe com orientação a objeto e ao invés de receber um vetor assuma que receberá uma matriz de letras (vetor de strings). Desta forma, você deverá fazer uma classe em C++, Java ou C# com um método público de nome RetornarQuantidadeDePalavrasEncontradas que receberá dois vetores de string como parâmetro. O primeiro constituirá a matriz da sopa de letras, o segundo as palavras que devem ser encontradas. Este método deve retornar o número de palavras encontradas.
+
== Dificuldade 1 ==
 +
Considere o problema da [[Problema da sopa de letras na formação de palavras|sopa de letras]], mas desta vez trabalhe com orientação a objeto e ao invés de receber um vetor assuma que receberá uma matriz de letras (vetor de strings). Desta forma, você deverá fazer uma classe em C++, Java ou C# com um método público de nome RetornarQuantidadeDePalavrasEncontradas que receberá dois vetores de string como parâmetro. O primeiro constituirá a matriz da sopa de letras, o segundo as palavras que devem ser encontradas. Este método deve retornar o número (int) de palavras encontradas.
  
Assuma como regra que uma palavra só será considerada encontrada se for possível localizá-la na vertical (de cima para baixo '''ou''' de baixo para cima) '''e''' na vertical (da esquerda para direita '''ou''' da direita para esquerda).
+
Assuma como regra que uma palavra só será considerada encontrada se for possível localizá-la na vertical (de cima para baixo '''ou''' de baixo para cima) '''e''' na horizontal (da esquerda para direita '''ou''' da direita para esquerda).
  
Observe que nesta primeira dificuldade dizer que uma palavra foi encontrada significa dizer que ela foi localizada, ou seja, que suas letras foram encontradas em uma seqüência '''sucessiva''' na vertical (de cima para baixo '''ou''' de baixo para cima) '''e''' na vertical (da esquerda para direita '''ou''' da direita para esquerda)
+
Observe que nesta primeira dificuldade dizer que uma palavra foi encontrada significa dizer que ela foi localizada, ou seja, que suas letras foram encontradas em uma seqüência '''sucessiva''' na vertical (de cima para baixo '''ou''' de baixo para cima) '''e''' na horizontal (da esquerda para direita '''ou''' da direita para esquerda)
  
 
=== Exemplo 1 ===
 
=== Exemplo 1 ===
 
==== Parâmetros ====
 
==== Parâmetros ====
 
  {"abc",
 
  {"abc",
   "cab"
+
   "cab",
 
   "cba" }
 
   "cba" }
 
  { "abc", "cab"}
 
  { "abc", "cab"}
Line 25: Line 25:
 
==== Parâmetros ====
 
==== Parâmetros ====
 
  {"abc",
 
  {"abc",
   "cab"
+
   "cab",
 
   "cba" }
 
   "cba" }
 
  { "abc", "cab"}
 
  { "abc", "cab"}

Latest revision as of 13:42, 8 October 2008

Versão cruzadinha inspirada em http://www.topcoder.com/stat?c=problem_statement&pm=9821&rd=13526

Dificuldade 1

Considere o problema da sopa de letras, mas desta vez trabalhe com orientação a objeto e ao invés de receber um vetor assuma que receberá uma matriz de letras (vetor de strings). Desta forma, você deverá fazer uma classe em C++, Java ou C# com um método público de nome RetornarQuantidadeDePalavrasEncontradas que receberá dois vetores de string como parâmetro. O primeiro constituirá a matriz da sopa de letras, o segundo as palavras que devem ser encontradas. Este método deve retornar o número (int) de palavras encontradas.

Assuma como regra que uma palavra só será considerada encontrada se for possível localizá-la na vertical (de cima para baixo ou de baixo para cima) e na horizontal (da esquerda para direita ou da direita para esquerda).

Observe que nesta primeira dificuldade dizer que uma palavra foi encontrada significa dizer que ela foi localizada, ou seja, que suas letras foram encontradas em uma seqüência sucessiva na vertical (de cima para baixo ou de baixo para cima) e na horizontal (da esquerda para direita ou da direita para esquerda)

Exemplo 1

Parâmetros

{"abc",
 "cab",
 "cba" }
{ "abc", "cab"}

Retorno

1

Dificuldade 2

Considere o mesmo problema anteriormente descrito só que desta vez uma palavra será considerada encontrada se ela puder ser formada pelas letras existentes em no mínimo uma mesma linha e uma mesma coluna.


Exemplo 1

Parâmetros

{"abc",
 "cab",
 "cba" }
{ "abc", "cab"}

Retorno

2