diff options
| author | Richard Qin <richard.qin.x@gmail.com> | 2026-05-28 17:21:08 +0800 |
|---|---|---|
| committer | Richard Qin <richard.qin.x@gmail.com> | 2026-05-28 17:21:08 +0800 |
| commit | 4634308d50b5b1e4f993c495a8bb51edac9f94bd (patch) | |
| tree | 0fd5f2adb1b83e35cc736708bd1f2883c3b1beb2 | |
| parent | bb38d33aa36be7e7cd6f55d1adb0b4795fcc4001 (diff) | |
| download | csp-4634308d50b5b1e4f993c495a8bb51edac9f94bd.tar.gz csp-4634308d50b5b1e4f993c495a8bb51edac9f94bd.tar.xz | |
41-balance
| -rw-r--r-- | 41/balance.cc | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/41/balance.cc b/41/balance.cc new file mode 100644 index 0000000..b379f0d --- /dev/null +++ b/41/balance.cc @@ -0,0 +1,39 @@ +#include <bits/stdc++.h> +using namespace std; + +bool is_balance(int a) { + int one_num = 0; + int zero_num = 0; + while (a != 0) + { + if ((a & 1) == 0) { + zero_num++; + } else { + one_num++; + } + a = a >> 1; + } + if (one_num == zero_num) { + return true; + } + return false; +} + +int main() { + ios::sync_with_stdio(false); + cin.tie(nullptr); + int n; + cin >> n; + vector<int> a(n); + for (int i = 0; i < n; ++i) { + cin >> a[i]; + } + int cnt = 0; + for (int i = 0; i < n; ++i) { + if (is_balance(a[i])) { + cnt++; + } + } + cout << cnt << endl; + return 0; +}
\ No newline at end of file |
