首页 > 百度笔试CPP/PHP,最后一题怎么做啊
头像
leastcode
编辑于 2020-09-04 13:41
+ 关注

百度笔试CPP/PHP,最后一题怎么做啊

//题目是总共n长度,每次可走1~m步,但不能跟上次和上上次步长相同,求总共走法
//超时了,只过了40%
void back(int& cnt, int lastlast, int last, int left, int m)
{
	if (left == 0)
	{
		++cnt;
		return;
	}
	for (int i = 1; i <= m; ++i)
	{
		if (i > left)
			break;
		if (i == lastlast || i == last)
			continue;
		left -= i;
		back(cnt, last ,i, left, m);
		left += i;
	}
}
int main()
{
	int n, m;
	cin >> n >> m;
	int cnt = 0;
	int ll = -1, l = -1;
	back(cnt, ll,l , n, m);
	cout << cnt;
	return 0;
}

全部评论

(0) 回帖
加载中...
话题 回帖

推荐话题

相关热帖

近期热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐