zoukankan      html  css  js  c++  java
  • OpenJudge 2792

    2792:集合加法

    Time Limit:
    3000ms
    Memory Limit:
    65536kB
    Description
    给出2个正整数集合A = {pi | 1 <= i <= a},B = {qj | 1 <= j <= b}和一个正整数s。问题是:使得pi + qj = s的不同的(i, j)对有多少个。
    Input
    第1行是测试数据的组数n,后面跟着n组测试数据。
    每组测试数据占5行,第1行是和s (1 <= s <= 10000),第2行是一个正整数a (1 <= a <= 10000),表示A中元素的数目。第3行是a个正整数,每个正整数不超过10000,表示A中的元素。第4行是一个正整数b (1 <= b <= 10000),表示B中元素的数目。第5行是b个正整数,每个正整数不超过10000,表示B中的元素。
    注意:这里的集合和数学书上定义的集合有一点点区别——集合内可能包含相等的正整数。
    Output
    n行,每行输出对应一个输入。输出应是一个非负整数。
    Sample Input
    2
    99
    2
    49 49
    2
    50 50
    11
    9
    1 2 3 4 5 6 7 8 9
    10
    10 9 8 7 6 5 4 3 2 1
    
    Sample Output
    4
    9
    
    //½«Á½¸öÊý×éµÄ¸÷¸öÔªËØö¾ÙÇó½â
    #include <iostream>
    #include <cstring>
    using namespace std;
    int s1[10001],s2[10002];
    int main()
    {
        int i,j,k,T;
        cin>>T;
        while(T--)
        {
            int ans = 0;
            memset(s1,0,sizeof(s1));
            memset(s2,0,sizeof(s2));
            int sum,a,b;
            cin>>sum>>a;
            for(i=0;i<a;i++)
                cin>>s1[i];
            cin>>b;
            for(i=0;i<b;i++)
                cin>>s2[i];
            for(i=0;i<a;i++)            
                for(j=0;j<b;j++)
                if(sum==s1[i]+s2[j])
                    ans++;
            cout<<ans<<endl;
        }
        return 0;
    }
                    
    

      

  • 相关阅读:
    反汇编测试20191325
    20191325mystat
    20191325学习笔记8
    20191325学习笔记7
    2.3.1测试 20191325
    20191214-改进ls
    团队作业4
    20191214-反汇编测试
    stat命令的实现-mysate(必做)
    图片
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2642130.html
Copyright © 2011-2022 走看看