Masala #N4OXEDYACV
Xesh funksiya
Shohruh raqamli qiymatlarni so'zlarga bog'laydigan xesh funksiyasini o'rganmoqda. Funksiya rekursiv ravishda quyidagicha aniqlanadi:
• f( bo'sh so'z ) = 0
• f( so'z + harf ) = ( f( so'z ) * 33 ) XOR ord( harf ) ) % MOD
Funksiya ingliz alifbosining faqat kichik harflaridan iborat so'zlar uchun belgilanadi.
- XOR bitli XOR operatorini bildiradi (masalan, 0110 XOR 1010 = 1100);
- ord(harf) alifbodagi harfning tartib raqamini bildiradi (ord(a) = 1, ord(z) = 26);
- A % B B raqami bilan butun sonni bo‘lishda A sonining qolgan qismini bildiradi;
- MOD \(2^M\) ko‘rinishdagi butun son bo‘ladi.
M = 10 bo'lganda xesh funktsiyasining ba'zi qiymatlari:
- f( a ) = 1
- f ( aa ) = 32
- f ( kit ) = 438
Mirko N uzunligidagi nechta so'zning K hash qiymatiga ega ekanligini bilmoqchi. Unga bu sonni hisoblashda yordam beradigan dastur yozing.
Birinchi va yagona qatorda 3 ta butun son N, K va M kiritiladi.
\(1 \le N \le 10\)
\(0 \le K < 2^M\)
\(6 \le M \le 25\)
Shartda so'ralgan qiymatni chop eting.
# | input.txt | output.txt |
---|---|---|
1 |
1 0 10 |
0 |
2 |
1 2 10 |
1 |
3 |
3 16 10 |
4 |