rt
求帮忙看一下下面这份代码为什么过不了编译/kel
#include<bits/stdc++.h>
using namespace std;
long long a[205],b[205],Min=1e9;
int n,i;
void search(int x,int num,long long sum,long long sum2)
{
if(x>n&&num){Min=min(Min,abs(sum-sum2));}
if(x>n) return;
search(x+1,num,sum,sum2);
search(x+1,num+1,sum*a[x],sum2+b[x]);
}
int main()
{
//freopen("food.in","r",stdin);
//freopen("food.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n;
for(i=1;i<=n;i++) cin>>a[i]>>b[i];
search(1,0,1,0);
cout<<Min;
return 0;
}
编译后显示 [Error] invalid type argument of unary '*' (have 'int')
然而这份代码就能编译通过
#include<bits/stdc++.h>
using namespace std;
long long a[205],b[205],Min=1e9;
int n,i;
void search(int x,long long sum,long long sum2)
{
if(x>n&&(sum!=1||sum2!=0)){Min=min(Min,abs(sum-sum2));}
if(x>n) return;
search(x+1,sum,sum2);
search(x+1,sum*a[x],sum2+b[x]);
}
int main()
{
//freopen("food.in","r",stdin);
//freopen("food.out","w",stdout);
ios::sync_with_stdio(false);
cin>>n;
for(i=1;i<=n;i++) cin>>a[i]>>b[i];
search(1,1,0);
cout<<Min;
return 0;
}
所以有大佬能帮个忙吗/kk
题目的话放2楼吧qwq