Difference between revisions of "Problema do tabuleiro em harmonia"

From AdonaiMedrado.Pro.Br
Jump to: navigation, search
(New page: == Dificuldade Única == Considere uma representação de um tabuleiro de Xadrez padrão em uma matriz de String 8x8 e o seguinte padrão: *T para Torre (movimenta-se N casas na vertical e...)
 
(Entrada)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Dificuldade Única ==
 
== Dificuldade Única ==
Considere uma representação de um tabuleiro de Xadrez padrão em uma matriz de String 8x8 e o seguinte padrão:
+
Considere uma representação de um tabuleiro de Xadrez em uma matriz de String 8x8 e o seguinte padrão:
 
*T para Torre (movimenta-se N casas na vertical e horizontal).
 
*T para Torre (movimenta-se N casas na vertical e horizontal).
 
*C para Cavalo (movimenta-se em L, um L por vez).
 
*C para Cavalo (movimenta-se em L, um L por vez).
Line 7: Line 7:
 
*K para Rei (movimenta-se uma casa por vez na vertical, horizontal e diagonal).
 
*K para Rei (movimenta-se uma casa por vez na vertical, horizontal e diagonal).
  
O tabuleiro é considerado em harmonia caso as peças possam se movimentar com liberdade sem que um seja capaz de atacar a outra.
+
O tabuleiro é considerado em harmonia caso as peças possam se movimentar com liberdade sem que uma seja capaz de atacar a outra.
  
 
Faça uma classe Xadrez com um método VerificarHarmonia que receberá uma String[][] de 8x8 em que cada elemento representa uma casa com o padrão acima, caso a casa não esteja ocupada ele terá o caracter 0 (zero).
 
Faça uma classe Xadrez com um método VerificarHarmonia que receberá uma String[][] de 8x8 em que cada elemento representa uma casa com o padrão acima, caso a casa não esteja ocupada ele terá o caracter 0 (zero).
  
O método deverá retornar o booleano, true caso o tabuleiro esteja em harmonia e false caso contrário.
+
O método deverá retornar o booleano true caso o tabuleiro esteja em harmonia e false caso contrário.
 +
 
 +
=== Exemplo 1 ===
 +
==== Entrada ====
 +
{ {"0","0","0","0","0","0","0","0"},
 +
  {"0","T","0","0","0","0","0","0"},
 +
  {"0","0","0","0","0","0","0","0"},
 +
  {"0","0","K","0","0","0","0","0"},
 +
  {"0","0","0","0","0","0","Q","0"},
 +
  {"0","0","0","0","0","0","0","0"},
 +
  {"0","0","0","0","0","0","0","0"},
 +
  {"B","0","0","0","0","C","0","0"} }
 +
 
 +
==== Saída ====
 +
  true
 +
 
 +
=== Exemplo 2 ===
 +
==== Entrada ====
 +
{ {"0","0","0","0","0","0","0","0"},
 +
  {"0","C","0","0","0","0","0","0"},
 +
  {"0","0","0","0","0","0","0","0"},
 +
  {"0","0","K","0","0","0","0","0"},
 +
  {"0","0","0","0","Q","0","0","0"},
 +
  {"0","B","0","0","0","0","0","0"},
 +
  {"0","0","0","K","0","0","0","0"},
 +
  {"0","0","0","0","0","0","0","0"} }
 +
==== Saída ====
 +
  false

Latest revision as of 08:47, 29 October 2008

Dificuldade Única

Considere uma representação de um tabuleiro de Xadrez em uma matriz de String 8x8 e o seguinte padrão:

  • T para Torre (movimenta-se N casas na vertical e horizontal).
  • C para Cavalo (movimenta-se em L, um L por vez).
  • B para Bispo (movimenta-se N casas em diagonal).
  • Q para Rainha (movimenta-se N casas na vertical, horizontal e diagonal).
  • K para Rei (movimenta-se uma casa por vez na vertical, horizontal e diagonal).

O tabuleiro é considerado em harmonia caso as peças possam se movimentar com liberdade sem que uma seja capaz de atacar a outra.

Faça uma classe Xadrez com um método VerificarHarmonia que receberá uma String[][] de 8x8 em que cada elemento representa uma casa com o padrão acima, caso a casa não esteja ocupada ele terá o caracter 0 (zero).

O método deverá retornar o booleano true caso o tabuleiro esteja em harmonia e false caso contrário.

Exemplo 1

Entrada

{ {"0","0","0","0","0","0","0","0"},
  {"0","T","0","0","0","0","0","0"},
  {"0","0","0","0","0","0","0","0"},
  {"0","0","K","0","0","0","0","0"},
  {"0","0","0","0","0","0","Q","0"},
  {"0","0","0","0","0","0","0","0"},
  {"0","0","0","0","0","0","0","0"},
  {"B","0","0","0","0","C","0","0"} }

Saída

  true

Exemplo 2

Entrada

{ {"0","0","0","0","0","0","0","0"},
  {"0","C","0","0","0","0","0","0"},
  {"0","0","0","0","0","0","0","0"},
  {"0","0","K","0","0","0","0","0"},
  {"0","0","0","0","Q","0","0","0"},
  {"0","B","0","0","0","0","0","0"},
  {"0","0","0","K","0","0","0","0"},
  {"0","0","0","0","0","0","0","0"} }

Saída

  false