[Ybt] [Ejemplo 4 de clase de recurrencia de cálculo básico] Juego de pases

Pasando juego

Enlace de tema: juego aéreo


Descripción del Título

Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí

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;
}

Supongo que te gusta

Origin blog.csdn.net/SSL_guyixin/article/details/111701482
Recomendado
Clasificación