站外题求优化,悬关
  • 板块灌水区
  • 楼主Python_enjoy
  • 当前回复3
  • 已保存回复4
  • 发布时间2024/6/2 15:05
  • 上次更新2024/6/2 17:18:29
查看原帖
站外题求优化,悬关
938629
Python_enjoy楼主2024/6/2 15:05
#include <bits/stdc++.h>
using namespace std;
int aa[205],n,a[205];
bool flag[205];
void dfs(int step)
{
	if(step>n)
	{
		for(int i=1; i<=n ;i++)
		{
			int cnt=0;
			for(int j=1; j<i; j++)
			{
				if(a[j]<a[i])
				{
					cnt++;
				}
			}
			if(cnt!=aa[i])
			{
				return;
			}
		}
		for(int i=1; i<=n; i++)
		{
			cout<<a[i]<<" ";
		}
		exit(0);
	}
	
	for(int i=1; i<=n; i++)
	{
		if(!flag[i])
		{
			a[step]=i;
			flag[i]=true;
			dfs(step+1);
			flag[i]=false;
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1; i<=n; i++)
	{
		cin>>aa[i];
	}
	dfs(1);
	return 0;
}
2024/6/2 15:05
加载中...