有大佬能帮忙看看嘛
查看原帖
有大佬能帮忙看看嘛
982485
Little_in_vain楼主2024/8/3 21:35

样例全对0分T~T

#include <bits/stdc++.h>
using namespace std;
int t[100000];
int a[110000];
int b[1000000];
int a1[110000];
int b1[1000000];
int cnt=100000000;
int n,m;
void dfs(int cur)//数的位
{
	if(cur==n+1)//
	{
		int v=1;
		for(int i=2;i<=n;i++)
		{
			v+=max(b1[b[i]],a1[a[i]+1]);
		}
		cnt=min(cnt,n-1+v);
		
		
	}
	else
	{
		for(int i=1;i<=n;i++)
		{
			if(t[i]==0&&i>a[cur-1])//判断i这个数字有没有被用过
			{
				t[i]=1;//标记为用过
				a[cur]=i;//将i放在cur位上
				b[cur]=i;//将i放在cur位上
				dfs(cur+1);//递归下一位
				t[i]=0;//标记清零
			}
			
		}
	}
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a1[i];
	}
	for(int i=1;i<=n;i++)
	{
		cin>>b1[i];
	}
	dfs(1);
	cout<<cnt;
}
2024/8/3 21:35
加载中...