22 条题解
-
-22
#include <iostream> using namespace std; int n, s[11], b[11], ans = 2000000000; int main() { cin >> n; for (int i = 1; i <= n; i++) cin >> s[i] >> b[i]; for (int i = 1; i < (1 << n); i++) { int sum1 = 1, sum2 = 0; for (int j = 0; j < n; j++) {//我的答案不知道为什么 是说error的 我在其他的软件都可以正确运行的 奇怪了 if (i & (1 << j)) { sum1 *= s[j + 1]; sum2 += b[j + 1]; } }
ans = min(ans, abs(sum1 - sum2)); } cout << ans;
return 0; }
-
-23
#include<bits/stdc++.h> using namespace std; int n,s[15],b[15],ans=2000000001; int main(){ cin>>n; for(int i=1;i<=n;i++)cin>>s[i]>>b[i]; for(int i=1;i<(1<<n);i++){ int sum1 = 1,sum2 = 0; for(int j=0;j<n;j++){ if(i&(1<<j)){ sum1*=s[j+1]; sum2+=b[j+1]; } } ans=min(ans,abs(sum1-sum2)); } cout<<ans; return 0; }
信息
- ID
- 51
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 3273
- 已通过
- 1243
- 上传者