10pts,help!
查看原帖
10pts,help!
1095806
Supa7onyz楼主2024/4/18 17:12
#include <iostream>
#include <math.h>
#define maxn 100000
using namespace std;
int n,mmin=1e9;
struct food{
	int suan,ku;
}a[maxn];
bool vis[maxn];
void dfs(int suan,int ku){
	int tot=0;
	for (int i=1;i<=n;i++){
		if (vis[i]==1){
			tot++;
		}
	}
	if (tot==n){
		mmin=min(mmin,abs(suan-ku));
	}
	for (int i=1;i<=n;i++){
		if (!vis[i]){
			vis[i]=1;
			dfs(suan*a[i].suan,ku+a[i].ku);
			vis[i]=0;
		}
	}
	return;
}
int main(){
	int n;
	cin>>n;
	for (int i=1;i<=n;i++){
		cin>>a[i].suan>>a[i].ku;
	}
	dfs(1,0);
	cout<<mmin;
	return 0;
}
2024/4/18 17:12
加载中...