Существует популярное упражнение по кодированию, где пчела гуляет среди шестиугольных сотовых ячеек. Учитывая целое число n (шагов), сколько путей заканчивается в начальной ячейке. Например, когда n = 2, есть 6 путей (один шаг к каждой соседней ячейке и обратно). Вот код, который я должен попробовать и заставить его работать
int walk(int x, int y, int n)
{
if (n == 0)
{
if (x == 0 && y == 0)
{
return 1;
}
else
{
return 0;
}
}
else
{
return walk(x, y + 1, n - 1) +
walk(x, y - 1, n - 1) +
walk(x - 1, y - 1, n - 1) +
walk(x - 1, y + 1, n - 1) +
walk(x + 1, y - 1, n - 1) +
walk(x + 1, y + 1, n - 1);
}
}
Я не могу понять ошибку в моем коде. У кого-нибудь есть советы, что я делаю не так? Спасибо!