求救
查看原帖
求救
591979
ShenRuochen楼主2022/2/5 17:22

AC1个,其他

W o n d e r f u l

A n s w e r

#include <bits/stdc++.h>
using namespace std;
struct node{long long s,b;}pl[11];
long long n,nows=1,nowb=0,used[11],ans=0x7fffffff;
void dfs(int k)
{
	if(k==n)
	{
		for(long long i=1;i<=n;i++)
		{
			if(used[i]==1)
			{
				nows=nows*pl[i].s;
				nowb=nowb+pl[i].b;
			}
		}
		ans=min(ans,abs(nows-nowb));
		nows=1;nowb=0;
		return;
	}
	for(long long i=1;i<=n;i++)
	{
		if(used[i]==0)
		{
			used[i]=1;
			dfs(k+1);
			used[i]=0;
		}
	}
}
int main()
{
	cin>>n;
	for(long long i=1;i<=n;i++)cin>>pl[i].s>>pl[i].b;
	dfs(0);
	cout<<ans<<endl;
	return 0;
}

2022/2/5 17:22
加载中...