Problema do jogo GO

From AdonaiMedrado.Pro.Br
Revision as of 14:02, 15 October 2008 by 200.17.147.2 (Talk) (Dificuldade 1)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Dificuldade 1

Considere o jogo de lógica chinesa Go, na sua variação conhecida como Reversi.

Faça uma classe JogoGO com o método público Dificuldade1 que receberá como parâmetros (1) uma matriz int[][] quadrada, MxM, representativa de uma partida do jogoGO e (2) um int que identificará de quem é a vez. O retorno deste método deverá ser o valor (int) da quantidade máxima de casas adversárias que podem ser tomadas por uma jogada.

Considere que:

  • uma jogada é válida na horizontal, vertical ou diagonal.
  • a matriz int[][] conterá os valores 0,1 e 2, sendo zero utilizado para casas vazias, 1 para o jogador 1 e 2 para o jogador 2.
  • o parâmetro int poderá ser 1 ou 2, sendo 1 identificando que é a vez do jogador 1 e 2 que é a vez do jogador 2.

Exemplo

Entrada

{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 2, 2, 2, 0, 0, 0 },
  { 0, 0, 0, 0, 1, 1, 2, 0, 0, 0 },
  { 0, 0, 0, 0, 1, 2, 1, 0, 0, 0 },
  { 0, 0, 0, 1, 0, 0, 0, 1, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } }, 2

Saída

3