https://www.acmicpc.net/problem/1269
๋ฌธ์
์์ฐ์๋ฅผ ์์๋ก ๊ฐ๋ ๊ณต์งํฉ์ด ์๋ ๋ ์งํฉ A์ B๊ฐ ์๋ค. ์ด๋, ๋ ์งํฉ์ ๋์นญ ์ฐจ์งํฉ์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ ์งํฉ A์ B๊ฐ ์์ ๋, (A-B)์ (B-A)์ ํฉ์งํฉ์ A์ B์ ๋์นญ ์ฐจ์งํฉ์ด๋ผ๊ณ ํ๋ค.
์๋ฅผ ๋ค์ด, A = { 1, 2, 4 } ์ด๊ณ , B = { 2, 3, 4, 5, 6 } ๋ผ๊ณ ํ ๋, A-B = { 1 } ์ด๊ณ , B-A = { 3, 5, 6 } ์ด๋ฏ๋ก, ๋์นญ ์ฐจ์งํฉ์ ์์์ ๊ฐ์๋ 1 + 3 = 4๊ฐ์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ์งํฉ A์ ์์์ ๊ฐ์์ ์งํฉ B์ ์์์ ๊ฐ์๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์งํฉ A์ ๋ชจ๋ ์์๊ฐ, ์ ์งธ ์ค์๋ ์งํฉ B์ ๋ชจ๋ ์์๊ฐ ๋น ์นธ์ ์ฌ์ด์ ๋๊ณ ๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ์งํฉ์ ์์์ ๊ฐ์๋ 200,000์ ๋์ง ์์ผ๋ฉฐ, ๋ชจ๋ ์์์ ๊ฐ์ 100,000,000์ ๋์ง ์๋๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋์นญ ์ฐจ์งํฉ์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ด
์ฌ์ด ๋ฌธ์ ๋ผ๊ณ ์๊ฐํด์ ๋ฐฐ์ด์ ์ด์ฉํ์ผ๋ ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ๋๋ฌด ์ปธ๊ธฐ ๋๋ฌธ์ธ์ง ๋ฉ๋ชจ๋ฆฌ ์ด๊ณผ๊ฐ ๋ฌ๋ค
#include <iostream>
#include <vector>
using namespace std;
const int INF = 100000000;
int main() {
vector<int> number(INF, 0);
int n,m, k;
cin >> n >> m;
for(int i=0; i<n+m; i++) {
cin >> k;
number[k]++;
}
int ans=0;
for(int i=0; i<INF; i++) {
if(number[i] == 1) {
ans++;
}
}
cout << ans;
return 0;
}
https://www.acmicpc.net/board/view/24015
๋ณธ ๋ฌธ์ ์ ๋ฉ๋ชจ๋ฆฌ ์ ํ์ 256mb๋ก 1mb๋น ์ ์ 26๋ง๊ฐ ์ ๋๋ง ์ ์ฅ ๊ฐ๋ฅํ๋ค๋๊ฑธ ๊ฐ์ํ๋ฉด ์ฝ 6์ฒ๋ง๊ฐ์ ์ ์๋ง ์ ์ฅ ๊ฐ๋ฅํ๋ค
์ ์ฝ๋์์๋ ๋ฐฐ์ด์ ์ ์๋ฅผ 10์ต๊ฐ ์ ์ฅํ๋ ค ํ๋ ํฑ์์ด ๋ชจ์๋ผ๋ค
๋ฉ๋ชจ๋ฆฌ ๋ญ๋น๋ฅผ ์ค์ด๊ธฐ ์ํด set ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๋ค
#include <iostream>
#include <set>
using namespace std;
const int INF = 100000000;
int main() {
set<int> set;
int n,m, k;
cin >> n >> m;
for(int i=0; i<n+m; i++) {
cin >> k;
auto iter = set.find(k);
if(iter != set.end()) {
set.erase(iter);
} else {
set.insert(k);
}
}
cout << set.size();
return 0;
}
'๐ BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ][C++] ๋ฐฑ์ค 1037๋ฒ: ์ฝ์ (0) | 2024.03.08 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 2849๋ฒ: ํ์ด์ ๋ฐํด (0) | 2024.03.06 |
[BOJ][C++] ๋ฐฑ์ค 14503๋ฒ: ๋ก๋ด ์ฒญ์๊ธฐ (0) | 2023.11.23 |
[BOJ][C++] ๋ฐฑ์ค 2839๋ฒ: ์คํ ๋ฐฐ๋ฌ (0) | 2023.11.02 |
[BOJ][C++] ๋ฐฑ์ค 1002๋ฒ: ํฐ๋ (0) | 2023.10.12 |