第8个点TLE了,求助
查看原帖
第8个点TLE了,求助
890321
mooktian楼主2024/3/25 10:02

第8个点的数据是10 29

代码如下:

#include <bits/stdc++.h>
#define f(i,a,b) for(int i=a;i<=b;i++)
#define g(i,a,b) for(int i=a;i>=b;i--)
#define ll long long
using namespace std;
int n,m; 
int dp[31][31];//dp[i][j]表示第j次传到第i个人的次数
			   //转移方程为dp[i][j] = dp[i-1][j-1] + dp[i+1][j-1]	 
int dfs(int x,int step) {
	if(step == 0) return dp[x][step];
	if(dp[x][step] != 0) return dp[x][step];
	int lx = (x - 1 + n) % n,ux = (x + 1) % n;
	//n个人,编号从0到n-1,lx表示前面一个人,ux表示后面一个人 
	return dp[x][step] = dfs(lx,step-1) + dfs(ux,step-1);
}
int main(){
cin >> n >> m;
dp[0][0] = 1;
cout << dfs(0,m);
return 0;
}

求大佬帮忙看看

2024/3/25 10:02
加载中...