1002. Set

#include<iostream>
#include<iomanip>
#include<set>
#include<vector>
#include<algorithm>
using namespace std;
class SetOperation

{

public:

// Add any codes you want here
SetOperation(int a[], int a_size, int b[], int b_size) {
    for(int it = 0; it < a_size; it++) {
        setA.insert(a[it]);
    }
    for(int it = 0; it < b_size; it++) {
        setB.insert(b[it]);
    }
}
set<int> Union() {
    set<int> un;
    for(set<int>::iterator it = setA.begin(); it != setA.end(); it++) {
        un.insert(*it); 
    }
    for(set<int>::iterator it = setB.begin(); it != setB.end(); it++) {
        for(set<int>::iterator j = setA.begin(); j != setA.end(); j++) {
            if(*j != *it) {
                un.insert(*it);
                break;
            }
        }
    }
    return un;
};

set<int> Intersetion() {
    set<int> inte;
    for(set<int>::iterator it = setB.begin(); it != setB.end(); it++) {
        for(set<int>::iterator j = setA.begin(); j != setA.end(); j++) {
            if(*j == *it) {
                inte.insert(*it);
                break;
            }
        }
    }
    return inte;
};

private:

set<int> setA;

set<int> setB;

};

void printSet(const set<int> &s) {

bool first = true;

for (set<int>::iterator it = s.begin(); it != s.end(); it++) {

if (!first) cout << " ";

else first = false;

cout << *it;

}

cout << endl;

}

int main(int argc, char *argv[]) {

int a[7] = {8, 7, 5, 3, 1, 4, 6};

int b[4] = {2, 3, 5, 4};

SetOperation s1(a, 7, b, 4);

printSet(s1.Union());

printSet(s1.Intersetion());

return 0;

}

时间: 2024-10-17 09:10:04

1002. Set的相关文章

1002 数塔取数问题

1002 数塔取数问题 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值. 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上. 5 8 4 3 6 9 7 2 9 5 例子中的最优方案是:5 + 8 + 6 + 9 = 28 Input 第1行:N,N为数塔的高度.(2 <= N <= 500) 第2 - N + 1行:每行包括1层数塔的数字,第2行1个数,第3

BZOJ 1002 [FJOI2007]轮状病毒

1002: [FJOI2007]轮状病毒 Description 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示 N轮状病毒的产生规律是在一个N轮状基中删去若干条边,使得各原子之间有唯一的信息通道,例如共有16个不同的3轮状病毒,如下图所示 现给定n(N<=100),编程计算有多少个不同的n轮状病毒 Input 第一行有1个正整数n Output 计算出的不同的n

杭电女生赛1001 1002 1003 1005 1008 hdu6023 6024 6025 6027 6030

代码先贴这里 #include "iostream" #include "string.h" #include "stack" #include "queue" #include "string" #include "vector" #include "set" #include "map" #include "algorithm&quo

1002 小婷婷吃蘑菇

1002: 小婷婷吃蘑菇 时间限制: 1 Sec  内存限制: 128 MB提交: 353  解决: 159[提交][状态][讨论版] 题目描述 小婷婷是个吃货,  有一天,  她来到了神奇的魔法谷,  这里有一条单行道路,  小婷婷为了吃到世界上最美味的食物,必须要穿过这条道路. 这是一个长度为 N 的魔法道路,小婷婷需要从 1 走到 N.每个单位长度上有一个蘑菇,  因为小婷婷是个大吃货,  所以她总是控制不住自己,  必须要吃掉在眼前的食物.  但是这些蘑菇受到了魔法的影响,有的可以增加小

PAT (Basic Level) Practise 1002. 写出这个数

1002. 写出这个数 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 读入一个自然数n,计算其各位数字之和,用汉语拼音写出和的每一位数字. 输入格式:每个测试输入包含1个测试用例,即给出自然数n的值.这里保证n小于10100. 输出格式:在一行内输出n的各位数字之和的每一位,拼音数字间有1 空格,但一行中最后一个拼音数字后没有空格. 输入样例: 1234567890987654321123456789 输出样

BZOJ 1002 + SPOJ 104 基尔霍夫矩阵 + 一个递推式。

BZOJ 1002 高精度 + 递推 f[1] = 1; f[2] = 5; f[i] = f[i - 1] * 3 - f[i - 2] + 2; SPOJ 104 裸 + 不用Mod 1 #include <cstdio> 2 #include <cstring> 3 #include <cstdlib> 4 #include <algorithm> 5 #include <iostream> 6 7 using namespace std;

NSURLErrorDomain Code=-1002 “unsupported URL”

我这儿是实现社区帖子搜索功能时候出现的,发送的GET请求,其中的URL中包含搜索的关键字以及用户的其他信息 搜索不出结果,但是链接可以在浏览器中打开 出错首先在控制台打印的错误信息,打印如下: Error Domain=NSURLErrorDomain Code=-1002 "unsupported URL" 我首先在网上看了一些博客,但尝试后无果我的问题,最后我回到起点慢慢找,我发现自己请求的串中包含有中文字符,最后解决方案是把其中的一个含有中文字符的参数q对应的text进行编码 [

HOJ 1001, 1002: A+B, A+B+C

两道水题,用来熟悉 HOJ 的提交系统.1002 需要考虑溢出.直接贴出代码: #include <iostream> using namespace std; int main() { int a, b; while (cin >> a >> b) { cout << (a + b) << endl; } return 0; } #include <iostream> using namespace std; int main()

Valentine&#39;s Day Round 1002 Misaki&#39;s Kiss again

题意 Misaki's Kiss again Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 571    Accepted Submission(s): 75 问题描述 摩天轮后,一些朋友希望再次得到Misaki的吻,所以Misaki把他们分别编号从1到N,如果他们中有人的编号是M,而且gcd(N,M)=N xor M,那么他以可以得

BZOJ 1002 轮状病毒

Description 给定n(N<=100),编程计算有多少个不同的n轮状病毒. Input 第一行有1个正整数n. Output 将编程计算出的不同的n轮状病毒数输出 Sample Input 3 Sample Output 16 两种做法: 1.基尔霍夫矩阵+高斯消元暴搓 2.根据基尔霍夫矩阵推出推出递推公式推出f[i]=(f[i-2]*3-f[i-1]+2).(解释见:http://vfleaking.blog.163.com/blog/static/174807634201196851