AtCoder BC073 C: Write and Erase
問題
https://beta.atcoder.jp/contests/abc073/tasks/abc073_c
解法
数字の出現回数が
・偶数回:消えている ・奇数回:書かれている
ので、mapを使って出現回数をカウントしておき、最後に奇数回のものを数えれば解けます。
これ以外にもsetを使って操作をシミュレートしても良い。
実装
#include<iostream> #include<vector> #include<map> #include<algorithm> #include<cmath> #include<string> #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define REP(i,n) FOR(i,0,n) #define MOD 1000000007 using namespace std; typedef long long int ll; const ll INF=(ll)1e18; int main(){ int N; cin >> N; map<ll,int> m; REP(i,N){ ll a; cin >> a; m[a]++; } int ans=0; for(auto itr = m.begin(); itr != m.end(); itr++){ if(itr->second % 2 != 0){ ans++; } } cout << ans << endl; }