50pts求调
查看原帖
50pts求调
955954
Miracle_InDream楼主2024/12/3 22:48
#include<bits/stdc++.h>
using namespace std;
const int N=1005;
struct node
{
	int num;
	int cnt;
};
int t;
int n;
node a[N],b[N];
int x[N],y[N],vis[N];
long long ovo;
bool cmp(node a,node b)
{
	if(a.num>b.num)
	{
		return 1;
	}
	return 0;
}
int main()
{
	cin>>t;
	while(t--)
	{
		memset(x,0,sizeof(x));
		memset(y,0,sizeof(y));
		memset(vis,0,sizeof(vis));
		ovo=0;
		cin>>n;
		for(int i=1;i<=n;i++)
		{
			cin>>a[i].num;
			a[i].cnt=i;
		}
		for(int i=1;i<=n;i++)
		{
			cin>>b[i].num;
			b[i].cnt=i;
		}
		sort(a+1,a+1+n,cmp);
		sort(b+1,b+1+n,cmp);
		for(int i=1;i<=n;i++)
		{
			for(int j=1;j<=n;j++)
			{
				if(a[j].num+ovo>=b[i].num&&vis[j]==0)
				{
					vis[j]=1;
					ovo=(a[j].num+ovo)-b[i].num;
					x[i]=a[j].cnt;
					y[i]=b[i].cnt;
					break;
				}
			}
		}
		bool flag=1;
		for(int i=1;i<=n;i++)
		{
			if(x[i]==0)
			{
				flag=0;
				break;
			}
		}
		if(flag)
		{
			cout<<"Yes"<<endl;
			for(int i=1;i<=n;i++)
			{
				cout<<x[i]<<' ';
			}
			cout<<endl;
			for(int i=1;i<=n;i++)
			{
				cout<<y[i]<<' ';
			}
			cout<<endl;
		}
		else
		{
			cout<<"No"<<endl;
		}
	}
	return 0;
}

别问我为什么现在才考4级问就是今年9月没考今年3月没考去年12月没考2级啥时候干的忘了3级今年6月干的

2024/12/3 22:48
加载中...