Jogando RisiKo!

No RisiKo! (a versão italiana de Risk!), os jogadores lançam dados de seis faces enquanto disputam territórios em um mapa-múndi. Cada jogador lança de um a três dados, e cada dado representa um exército enviado para lutar.

Ordene os dados dos dois jogadores do maior para o menor. Compare os dados correspondentes até que um dos jogadores fique sem dados e ignore os dados que sobrarem. O atacante vence uma comparação somente quando seu dado é maior que o do defensor. Em caso de empate, o defensor vence. O perdedor perde um exército a cada comparação.

Dados os lançamentos do atacante e do defensor, retorne o número de exércitos que o defensor perde.

Exemplos

Program.risiko(new int[] { 3, 6, 4 }, new int[] { 2, 5, 3 }) ⟞ 3
// 6 contra 5, 4 contra 3 e 3 contra 2: o atacante vence as três comparações.

Program.risiko(new int[] { 3, 6 }, new int[] { 6, 4, 4 }) ⟞ 0
// 6 contra 6 resulta em empate, e 3 perde para 4. O defensor vence as duas comparações.

Program.risiko(new int[] { 3, 1 }, new int[] { 1 }) ⟞ 1
// Somente o dado de maior valor de cada lado é comparado: 3 contra 1.

Observações

  • Em caso de empate, o defensor vence.
  • Se os jogadores lançarem quantidades diferentes de dados, faça apenas tantas comparações quanto a menor quantidade de dados lançados.
  • Cada array de entrada contém de um a três dados, e o valor de cada dado varia de 1 a 6.