Submission #571793

# Submission time Handle Problem Language Result Execution time Memory
571793 2022-06-02T18:11:10 Z Blagojce PIN (CEOI10_pin) C++11
30 / 100
355 ms 18368 KB
#include <bits/stdc++.h>
#define fr(i, n, m) for(int i = (n); i < (m); i ++)
#define st first
#define nd second 
#define all(x) begin(x), end(x)
#define pb push_back
#define all(x) begin(x), end(x)

using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<int,int> pii;

const int mxn = 1e5+5;
const ll inf = 1e18;
const ld eps = 1e-13;
const ll mod = 1e9 + 9;

mt19937 _rand(time(0));

int n, k;
string s[mxn];
unordered_map<string, int> mapa;

ll ans = 0;
void process(int j){
	fr(mask, 0, (1<<4)){
		int bts = __builtin_popcount(mask);
		if(bts < k) continue;
		string ns = "$$$$";
		fr(i, 0, 4){
			if(mask&(1<<i)){
				ns[i] = s[j][i];
			}
		}
		int p = +1;
		if((bts-k)%2){
			 p = -1;
		}
		ans += mapa[ns]*p;
	}
	fr(mask, 0, (1<<4)){
		string ns = s[j];
		fr(i, 0, 4){
			if(mask&(1<<i)) continue;
			ns[i] = '$';
		}
		mapa[ns] ++;
	}
}


int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin >> n >> k;
	fr(i, 0, n){
		cin >> s[i];
	
	}
	k = 4-k;
	
	fr(i, 0, n)process(i);
	if(k == 4){
		cout<<ans<<endl;
		return 0;
	}
	
	int ans2 = ans;
	
	
	ans = 0;
	mapa.clear();
	k++;
	fr(i, 0, n)process(i);
	
	cout<<ans2-ans<<endl;
	return 0;
	
}/*
1
3
2 3 -1*/
# Verdict Execution time Memory Grader output
1 Correct 7 ms 4052 KB Output is correct
2 Incorrect 7 ms 3988 KB Output isn't correct
3 Incorrect 6 ms 3924 KB Output isn't correct
4 Correct 62 ms 6184 KB Output is correct
5 Correct 77 ms 7008 KB Output is correct
6 Incorrect 84 ms 7080 KB Output isn't correct
7 Incorrect 77 ms 6056 KB Output isn't correct
8 Correct 92 ms 7032 KB Output is correct
9 Correct 145 ms 8084 KB Output is correct
10 Incorrect 175 ms 8284 KB Output isn't correct
11 Incorrect 87 ms 7056 KB Output isn't correct
12 Incorrect 208 ms 8156 KB Output isn't correct
13 Incorrect 134 ms 7076 KB Output isn't correct
14 Incorrect 118 ms 6968 KB Output isn't correct
15 Incorrect 186 ms 8172 KB Output isn't correct
16 Correct 167 ms 13292 KB Output is correct
17 Incorrect 336 ms 18344 KB Output isn't correct
18 Incorrect 303 ms 14144 KB Output isn't correct
19 Incorrect 333 ms 15288 KB Output isn't correct
20 Incorrect 355 ms 18368 KB Output isn't correct