Submission #320196

# Submission time Handle Problem Language Result Execution time Memory
320196 2020-11-07T22:43:12 Z Karen124 PIN (CEOI10_pin) C++14
30 / 100
80 ms 27620 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[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 7296 KB Output isn't correct
3 Incorrect 6 ms 7148 KB Output isn't correct
4 Correct 22 ms 7296 KB Output is correct
5 Correct 26 ms 7276 KB Output is correct
6 Incorrect 27 ms 7424 KB Output isn't correct
7 Incorrect 22 ms 7404 KB Output isn't correct
8 Correct 29 ms 7404 KB Output is correct
9 Correct 49 ms 7396 KB Output is correct
10 Incorrect 54 ms 7532 KB Output isn't correct
11 Incorrect 28 ms 7404 KB Output isn't correct
12 Incorrect 45 ms 7532 KB Output isn't correct
13 Incorrect 30 ms 7404 KB Output isn't correct
14 Incorrect 27 ms 7404 KB Output isn't correct
15 Incorrect 45 ms 7660 KB Output isn't correct
16 Correct 72 ms 27244 KB Output is correct
17 Incorrect 80 ms 27492 KB Output isn't correct
18 Incorrect 62 ms 27488 KB Output isn't correct
19 Incorrect 72 ms 27620 KB Output isn't correct
20 Incorrect 75 ms 27492 KB Output isn't correct