给你两组数,看看能不能从每组各挑出一个数,使他们的和是10000。 #include <iostream> using namespace std; bool hash[1000010],flag; int n,a; int main() { memset(hash,false,sizeof(hash)); cin >> n; while (n--) { scanf("%d",&a); hash[50000+a]=true; } flag=false; cin >> n; while (n--) { scanf("%d",&a); if (hash[60000-a]) { flag=true; break; } } if (flag) printf("YES/n"); else printf("NO/n"); //system("pause"); return 0; }