SDUT离散题目4

离散题目4

Time Limit: 1000MS  Memory Limit: 65536KB
Submit  Statistic

Problem Description

题目给出两个非空整数集,请写出程序求两个集合的交集。

Input

多组输入,每组输入包括两行,第一行为集合A的元素,第二行为集合B的元素。具体参考示例输入。 每个集合元素个数不大于3000,每个元素的绝对值不大于2^32 - 1。

Output

每组输入对应一行输出,为A、B的交集,如果交集为空输出"NULL",否则交集的元素按递增顺序输出,每个元素之间用空格分割。

Example Input

1 2 3 4 5
1 5 3 6 7
1 2 4 5 3
6 7 8 9 10

Example Output

1 3 5
NULL

Hint


闲来无聊,正好学弟有需求,用到了vector容器和istringstream控制转换流输入控制,读取数字。

#include
#include
#include
#include
#include

using namespace std;

int main()
{
    ios::sync_with_stdio(false);

    string a, b;
    while(getline(cin,a))
    {
        vectors1, s2, c;
        getline(cin, b);
        istringstream stra(a);
        istringstream strb(b);
        int num;
        while(stra>>num)
            s1.push_back(num);
        while(strb>>num)
            s2.push_back(num);
        sort(s1.begin(), s1.end());
        sort(s2.begin(), s2.end());
        for(int i=0; i<(int)s1.size(); ++i)
        {
            for(int j=0; j<(int)s2.size(); ++j)
                if(s1[i] == s2[j])
                    c.push_back(s1[i]);
        }
        if(c.size() == 0)
            cout<<"NULL"<


你可能感兴趣的:(字符串)