60分,WA on 4
查看原帖
60分,WA on 4
661913
liwenxi1145144444楼主2023/6/18 13:12
#include<bits/stdc++.h>
using namespace std;
int n,s[15],t[15],minn=INT_MAX,ans=INT_MAX;
void dfs(int vis,int sums,int sumt,int a){
	minn=min(minn,abs(sums-sumt));
	if(a>n){
		return ;
	}
	if(a+1==vis){
		dfs(vis,sums*s[a],sumt+t[a],a+2);
		dfs(vis,sums,sumt,a+2);
	}else{
		dfs(vis,sums*s[a],sumt+t[a],a+1);
		dfs(vis,sums,sumt,a+1);
	}
}
int main(){
	cin>>n;
	for(int i=1;i<=n;i++){
		cin>>s[i]>>t[i];
	}
	for(int i=1;i<=n;i++){
		minn=INT_MAX;
		dfs(i,s[i],t[i],1);
		ans=min(minn,ans);
	}
	cout<<ans;
	return 0;
} 
2023/6/18 13:12
加载中...