Submission #571792

# Submission time Handle Problem Language Result Execution time Memory
571792 2022-06-02T18:10:42 Z Blagojce PIN (CEOI10_pin) C++11
30 / 100
344 ms 18388 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, 1, (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, 1, (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 4040 KB Output is correct
2 Incorrect 11 ms 4052 KB Output isn't correct
3 Incorrect 7 ms 3924 KB Output isn't correct
4 Correct 65 ms 6152 KB Output is correct
5 Correct 71 ms 6984 KB Output is correct
6 Incorrect 78 ms 7040 KB Output isn't correct
7 Incorrect 65 ms 6056 KB Output isn't correct
8 Correct 85 ms 7088 KB Output is correct
9 Correct 149 ms 8028 KB Output is correct
10 Incorrect 186 ms 8340 KB Output isn't correct
11 Incorrect 88 ms 7076 KB Output isn't correct
12 Incorrect 165 ms 8184 KB Output isn't correct
13 Incorrect 124 ms 7112 KB Output isn't correct
14 Incorrect 113 ms 7016 KB Output isn't correct
15 Incorrect 205 ms 8212 KB Output isn't correct
16 Correct 173 ms 13372 KB Output is correct
17 Incorrect 297 ms 18344 KB Output isn't correct
18 Incorrect 305 ms 14164 KB Output isn't correct
19 Incorrect 273 ms 15352 KB Output isn't correct
20 Incorrect 344 ms 18388 KB Output isn't correct