爱奇艺第一题暴力36...太难啦太难啦

#include<iostream>
#include<vector>
using namespace std;

long long res = 0;

void dfs(int n, bool * a, int pos, int deep, vector<bool> visit)
{
	if (deep == n)
	{
		res = (res + 1) % (1000000007);
		return;
	}
	visit[pos] = 1;
	for (int i = 0; i < n; i++)
	{
		if (visit[i] == 1) continue;
		if ((a[deep-1] == 1 && i < pos) || (a[deep-1] == 0 && i > pos))
		{
			dfs(n, a, i, deep + 1, visit);
		}
	}
	visit[pos] = 0;
}
int main()
{
	int n;
	cin >> n;
	bool * a = new bool[n - 1];
	for (int i = 0; i < n - 1; i++)
		cin >> a[i];
	vector<bool> visit(n, 0);
	res = 0;
	for (int i = 0; i < n; i++)
		dfs(n, a, i, 1, visit);
	cout << res << endl;
	return 0;
}


#爱奇艺##题解#
全部评论
觉得是能用dp 推不出来递推公式
点赞 回复 分享
发布于 2019-09-08 17:03
同只会第一题,还只会第一题暴力组合的飘过
点赞 回复 分享
发布于 2019-09-08 17:06
我也是全排列做的过了36😂😂😂,第二题直接递归也不行
点赞 回复 分享
发布于 2019-09-08 17:11
我也36…太难了
点赞 回复 分享
发布于 2019-09-08 17:13
我写了两个if  也A了36 先算A数组变了几次cnt,cnt =0,就输出1,cnt=1就输出n-1
点赞 回复 分享
发布于 2019-09-08 17:13

相关推荐

最近和朋友聊天,她说了句让我震惊的话:"我发现我连周末点外卖都开始'最优解'了,一定要赶在高峰期前下单,不然就觉得自己亏了。"这不就是典型的"班味入侵"吗?工作思维已经渗透到生活的方方面面。
小型域名服务器:啊?我一直都这样啊?我还以为是我爱贪小便宜呢?每次去实验室都得接一杯免费的开水回去,出门都得规划一下最短路径,在宿舍就吃南边的食堂,在实验室就吃北边的食堂,快递只有顺路的时候才取。
点赞 评论 收藏
分享
面试摇了我吧:啊哈哈面试提前五个小时发,点击不能参加就是放弃
点赞 评论 收藏
分享
贺兰星辰:不要漏个人信息,除了简历模板不太好以外你这个个人简介是不是太夸大了...
点赞 评论 收藏
分享
点赞 1 评论
分享
牛客网
牛客企业服务