#include <iostream>
#include <algorithm>
using namespace std;
int n,s[11],b[11],ans=0x7fffffff;
void dfs(int i,int sour,int bit){
if(i>n) return;
dfs(i+1,sour,bit);
sour*=s[i];
bit+=b[i];
ans=min(ans,abs(sour-bit));
dfs(i+1,sour,bit);
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>s[i]>>b[i];
dfs(1,1,0);
cout<<ans;
return 0;
}
请问为什么这道题深度优先搜索相当于,线性搜索从输入第一个加进去到最后一个输入的,只用分支加或不加居然能够得到最优解,虽然AC了,但我实在没想通