https://atcoder.jp/contests/jsc2021/tasks/jsc2021_b
解説
https://atcoder.jp/contests/jsc2021/submissions/21830500
判定方法は色々あるが、自分の実装では1つのmapに入れて個数を数えることにした。
1つのmapに入れて集計をすると、
0個 -> どちらにも存在しない
1個 -> どちらかにある
2個 -> どちらにもある
という感じになるので、1個であるものを答えると答え。
int N, M, A[1010], B[1010]; //--------------------------------------------------------------------------------------------------- void _main() { cin >> N >> M; rep(i, 0, N) cin >> A[i]; rep(i, 0, M) cin >> B[i]; map<int, int> cnt; rep(i, 0, N) cnt[A[i]]++; rep(i, 0, M) cnt[B[i]]++; bool top = true; fore(p, cnt) if (p.second == 1) { if (!top) printf(" "); printf("%d", p.first); top = false; } printf("\n"); }