Pasando juego
Enlace de tema: juego aéreo
Descripción del Título
Ideas para resolver problemas
Esta pregunta es relativamente simple.
Obviamente, una persona puede recibir la pelota de ambos lados, luego también es posible obtener contribuciones de ambos lados.
La fórmula de recurrencia es:
fi, j = fi - 1, j - 1 + fi - 1, j + 1 f_ {
{i}, {j}} = f_ {
{i-1}, {j-1}} + f_ {
{i-1}, {j + 1}}Fi , j=Fi - 1 , j - 1+Fi - 1 , j + 1
Dar f 0, 1 f_ {
{0}, {1}}F0 , 1Adjunto 1 1El valor inicial de 1 ,j = nj = nj=n oj = 0 j = 0j=Una frase especial es suficiente a las 0:00 .
código
#include<iostream>
#include<cstdio>
#define int long long
using namespace std;
int n,m;
int f[40][40];
signed main()
{
cin>>n>>m;
f[0][1]=1;
for(int i=1;i<=m;i++)
for(int j=1;j<=n;j++)
{
if(j==1)
f[i][j]=f[i-1][n]+f[i-1][2];
else if(j==n)
f[i][j]=f[i-1][n-1]+f[i-1][1];
else
f[i][j]=f[i-1][j+1]+f[i-1][j-1];
}
cout<<f[m][1]<<endl;
}