알고리즘/BOJ

[백준] 1269 대칭차집합

세진짱 2018. 5. 13. 00:51


차집합의 합집합 수를 구하는 문제이다

set을 이용하면 쉽게 풀 수 있다


1. set을 하나 만들고 A의 원소를 다 넣는다

2. B의원소를 확인하며 이미 set에 있다면 지우고 없다면 넣는다

3. set의 크기가 곧 답이다!


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <set>
using namespace std;
set<int> a;
int n, m;
int main() {
    scanf(" %d %d"&n, &m);
    for (int i = 0; i < n; i++) {
        int x; scanf(" %d"&x);
        a.insert(x);
    }
    for (int i = 0; i < m; i++) {
        int x; scanf(" %d"&x);
        if (a.count(x)) a.erase(x);
        else a.insert(x);
    }
    printf("%d\n", a.size());
}
cs