(一)
数据范围较小,三重循环枚举选的数,用 map 存储可能的和即可。
(二)
AC 代码。
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,l,q,a[110],b[110],c[110];
map<int,bool>mp;
signed main(){
scanf("%lld",&n);
for(int i=1;i<=n;i++)scanf("%lld",&a[i]);
scanf("%lld",&m);
for(int i=1;i<=m;i++)scanf("%lld",&b[i]);
scanf("%lld",&l);
for(int i=1;i<=l;i++)scanf("%lld",&c[i]);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
for(int k=1;k<=l;k++)
mp[a[i]+b[j]+c[k]]=1;
scanf("%lld",&q);
while(q--){
int x;
scanf("%lld",&x);
if(mp[x])puts("Yes");
else puts("No");
}
return 0;
}
标签:int,题解,long,110,abc344,lld
From: https://www.cnblogs.com/Jh763878/p/18098698