Submission #320197

# Submission time Handle Problem Language Result Execution time Memory
320197 2020-11-07T22:44:06 Z Karen124 PIN (CEOI10_pin) C++14
30 / 100
89 ms 27364 KB
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll N = 5e4 + 5;
const ll M = 36;
const ll K = 16; 
ll all;
int n, d, z[5];
ll ans[5], ansp[5];
int cn[K][M][M][M][M];
unordered_map <char, short int> f;
string a[N];
int main (){
    f['0'] = 0; f['1'] = 1; f['2'] = 2; f['3'] = 3; f['4'] = 4; f['5'] = 5; f['6'] = 6; f['7'] = 7;
    f['8'] = 8; f['9'] = 9; f['a'] = 10; f['b'] = 11; f['c'] = 12; f['d'] = 13; f['e'] = 14; f['f'] = 15;
    f['g'] = 16; f['h'] = 17; f['i'] = 18; f['j'] = 19; f['k'] = 20; f['l'] = 21; f['m'] = 22; f['n'] = 23;
    f['o'] = 24; f['p'] = 25; f['q'] = 26; f['r'] = 27; f['s'] = 28; f['t'] = 29; f['u'] = 30; f['v'] = 31;
    f['w'] = 32; f['x'] = 33; f['y'] = 34; f['z'] = 35; 
    cin >> n >> d;
    all = 1ll * n * (n - 1) / 2ll;
    for (int i = 0; i < n; i++){
        cin >> a[i];
        ansp[0] = ansp[1] = ansp[2] = ansp[3] = ansp[4] = 0;
        for (int msk = 0; msk < 16; msk++){
            z[0] = z[1] = z[2] = z[3] = 0;
            for (int j = 0; j < 4; j++){
                if ((msk >> j) & 1){
                    z[j] = f[a[i][j]];
                }
            }
            ansp[__builtin_popcount(msk)] += cn[msk][z[0]][z[1]][z[2]][z[3]]; 
            cn[msk][z[0]][z[1]][z[2]][z[3]] ++;
        }
        ans[4] += ansp[4];
        ans[3] += ansp[3] - ansp[4];
        ans[2] += ansp[2] - ansp[3] + ansp[4];
        ans[1] += ansp[1] - ansp[2] + ansp[3] - ansp[4];
        ans[0] += ansp[0] - ansp[1] - ansp[2] + ansp[3] - ansp[4];
    }
    cout << ans[4 - d] << '\n';
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 7 ms 7276 KB Output is correct
2 Incorrect 7 ms 7276 KB Output isn't correct
3 Incorrect 7 ms 7148 KB Output isn't correct
4 Correct 23 ms 7276 KB Output is correct
5 Correct 26 ms 7276 KB Output is correct
6 Incorrect 29 ms 7276 KB Output isn't correct
7 Incorrect 23 ms 7276 KB Output isn't correct
8 Correct 29 ms 7276 KB Output is correct
9 Correct 42 ms 7276 KB Output is correct
10 Incorrect 47 ms 7276 KB Output isn't correct
11 Incorrect 27 ms 7404 KB Output isn't correct
12 Incorrect 45 ms 7396 KB Output isn't correct
13 Incorrect 30 ms 7276 KB Output isn't correct
14 Incorrect 28 ms 7276 KB Output isn't correct
15 Incorrect 44 ms 7276 KB Output isn't correct
16 Correct 57 ms 27244 KB Output is correct
17 Incorrect 89 ms 27364 KB Output isn't correct
18 Incorrect 61 ms 27244 KB Output isn't correct
19 Incorrect 73 ms 27364 KB Output isn't correct
20 Incorrect 74 ms 27244 KB Output isn't correct