关于我的代码WA2个TLE1个的事情
查看原帖
关于我的代码WA2个TLE1个的事情
345930
Gold14526神金楼主2021/5/7 07:28
using namespace std;
int n,s;
int a[19],f[19];
void dfs(int x)
{
	bool t=0;
	for(int i=1;i<=x-3;i++)
	{
		for(int j=i+1;j<x;j++)
		{
			if(a[j]<a[i])t=1;
			if(t&&a[j]>a[i])return;
		}
	}
	if(x>n)
	{
		s++;
		return;
	}
	for(int i=1;i<=n;i++)
	{
		if(f[i])continue;
		f[i]=1;
		a[x]=i;
		dfs(x+1);
		f[i]=0;
	}
}
int main()
{ 
	scanf("%d",&n);
	dfs(1);
	printf("%d",s);
	return 0;
}
2021/5/7 07:28
加载中...