Número de caminhos entre pontos

Este desafio consiste em encontrar e contar o número de caminhos entre pontos em uma grade retilínea. É fornecido um ponto de partida (x, y) com coordenadas inteiras não negativas. Você só pode se mover horizontal e verticalmente pela grade. Portanto, a partir de (x, y), você pode se mover para (x+1, y), (x-1, y), (x, y+1) ou (x, y-1). Seu objetivo é retornar à origem (0, 0) de modo que nunca aumente a distância até a origem. A distância é contada como o número mínimo total de passos verticais e horizontais necessários para chegar à origem.

Crie uma função que leia uma localização inicial, (x, y), e retorne o número total de caminhos diferentes de volta à origem. Dois caminhos são diferentes se houver pelo menos um passo no caminho que seja diferente, mesmo que a maioria dos passos seja igual.

Exemplos

paths(0, 0) ➞ 1

paths(2, 1) ➞ 3

paths(2, 2) ➞ 6

Observações

  • Esta função pode ser escrita facilmente usando recursão. É ALTAMENTE recomendado (embora não seja necessário) que você use alguma forma de recursão na sua solução.
  • O tipo de retorno dessa função é um inteiro positivo.
  • x e y sempre serão inteiros maiores ou iguais a 0.