• Предмет: Информатика
  • Автор: krechetov2411
  • Вопрос задан 1 год назад

Пчёлка Представьте себе пчелиные соты поле из шестиугольных клеток со стороной, состоящей из И клеток. В верхней левой клетке А находится пчёлка. За один ход она может переползти на клетку вниз, на клетку вниз-вправо или на клетку вверх-вправо (вверх и влево пчёлка не ползает). - Требуется написать программу, которая найдёт количество способов, которыми пчёлка может переместиться из клетки А в противоположную клетку В по указанным правилам. Входные данные: Единственная строка содержит единственное число N - размеры шестиугольного поля (2 ≤ N ≤ 12).
Выходные данные: Выведите единственное целое число- количество способов.
Примеры
Ввод:
2
3
Вывод:
11
291
Помогите пожалуйста
Просто этот код не подходит
#include <iostream>
using namespace std;
int main() {
int N, m, i, j;
cin >> N;
m = 2 * N - 1;
int fields[m][m];
for(i = 0; i < m; i++)
for(j = 0; j < m; j++)
fields[i][j] = 0;
for(i = 0; i < N; i++)
fields[i][0] = fields[0][i] = 1;
for(i = 1; i < m; i++)
for(j = 1; j < m; j++)
if(N > abs(i - j))
fields[i][j] = fields[i - 1][j] + fields[i][j - 1] + fields[i - 1][j - 1];
cout << fields[m - 1][m - 1];
return 0;}​

Ответы

Ответ дал: 247d6vr4v5
1

Ответ:#include <iostream>

using namespace std;

int main() {

int N, m, i, j;

cin >> N;

m = 2 * N - 1;

int fields[m][m];

for (i = 0; i < m; i++) {

for (j = 0; j < m; j++) {

fields[i][j] = 0;

}

}

for (i = 0; i < N; i++) {

fields[i][0] = fields[0][i] = 1;

}

for (i = 1; i < m; i++) {

for (j = 1; j < m; j++) {

if (N > abs(i - j)) {

fields[i][j] = fields[i - 1][j] + fields[i][j - 1] + fields[i - 1][j - 1];

}

}

}

cout << fields[m - 1][m - 1] << endl;

return 0;

}


krechetov2411: спасибо,но не подходит
Вас заинтересует