답안 #238951

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
238951 2020-06-13T18:26:43 Z dolphingarlic PIN (CEOI10_pin) C++14
60 / 100
163 ms 8168 KB
#include <bits/stdc++.h>
#define FOR(i, x, y) for (int i = x; i < y; i++)
typedef long long ll;
using namespace std;

unordered_map<ll, ll> cnt[16];

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ll n, d;
    cin >> n >> d;
    FOR(i, 0, n) {
        string s;
        cin >> s;
        FOR(j, 0, 16) {
            ll hsh = 0;
            FOR(k, 0, 4) if (j & (1 << k))
                hsh += (s[k] - '0' + 1) << (k * 8);
            cnt[j][hsh]++;
        }
    }

    ll ans = 0;
    FOR(i, 0, 16) {
        if (4 - __builtin_popcount(i) > d) continue;
        ll contrib = 0;
        for (pair<ll, ll> j : cnt[i])
            contrib += j.second * (j.second - 1) / 2;
        if ((d - 4 + __builtin_popcount(i)) & 1) ans -= contrib;
        else ans += contrib;
    }
    cout << ans;
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 640 KB Output is correct
2 Incorrect 6 ms 640 KB Output isn't correct
3 Correct 6 ms 640 KB Output is correct
4 Correct 21 ms 1920 KB Output is correct
5 Correct 28 ms 2176 KB Output is correct
6 Incorrect 26 ms 2176 KB Output isn't correct
7 Incorrect 21 ms 1920 KB Output isn't correct
8 Correct 28 ms 2552 KB Output is correct
9 Correct 39 ms 2856 KB Output is correct
10 Incorrect 53 ms 3108 KB Output isn't correct
11 Incorrect 26 ms 2560 KB Output isn't correct
12 Incorrect 41 ms 2984 KB Output isn't correct
13 Incorrect 29 ms 2560 KB Output isn't correct
14 Correct 28 ms 2560 KB Output is correct
15 Correct 46 ms 2988 KB Output is correct
16 Correct 54 ms 5928 KB Output is correct
17 Incorrect 163 ms 8168 KB Output isn't correct
18 Correct 108 ms 6440 KB Output is correct
19 Correct 133 ms 7912 KB Output is correct
20 Correct 93 ms 8120 KB Output is correct