Шашку — в дамки С++
На шахматной доске (8×8) стоит одна белая шашка. Сколькими способами она может пройти в дамки?
(Белая шашка ходит по диагонали. на одну клетку вверх-вправо или вверх-влево. Шашка проходит в дамки, если попадает на верхнюю горизонталь.)
Входные данные
Вводятся два числа от 1 до 8: номер номер столбца (считая слева) и строки (считая снизу), где изначально стоит шашка.
Выходные данные
Вывести одно число — количество путей в дамки.
Даю 30 баллов
Answers & Comments
Ответ:
#include <iostream>
#include <cassert>
using namespace std;
int wh(int x, int y) {
assert(y <= 8&&y>=1&&x>=1&&x<=8);
if (y == 8) {
return 1;
}
if(x==1)
return wh(x+1, y+1);
else if (x==8)
return wh(x - 1, y + 1);
else
return wh(x - 1, y + 1) + wh(x + 1, y + 1);
}
int main()
{
int x,y;
cin >> x>>y;
cout<<wh(x, y );
return 0;
}
Объяснение: