- محدودیت زمان: ۲ ثانیه
- محدودیت حافظه: ۲۵۶ مگابایت
- منبع: COCI 2013/2014
هوشنگ خان که به تازگی در کلاسهای هشینگ ثبت نام کرده، به همهی روشهایی که به رشتهها عدد نسبت میدهند علاقهی خاصی پیدا کرده است. آخرین روشی که به او گفته شده، بیش از همهی روشهای پیشین نظر او را به خود جلب کرده؛ این روش بصورت بازگشتی و به شکل زیر تعریف میشود.
- اگر $s$ یک رشتهی خالی باشد، $f(s) = 0$
- داریم $w$ یک رشته است و $c$ یک حرف کوچک انگلیسی، همچنین $ord(c)$ به معنای شماره حرف $c$ بین حروف انگلیسی است؛ یعنی $ord(a) = 1$ و $ord(z) = 26$. با اینها، داریم: $$ f(w + c) = ((f(w) \times 33)\ xor\ ord (c)) \mod 2^m$$ که $w + c$ یعنی اضافه کردن حرف $c$ به انتهای رشتهی $w$.
هوشنگ خان پس از مدتی بررسی، به امنیت این روش مشکوک شده است. برای همین به شما مقادیر $n$ و $m$ و $x$ را میدهد و از شما میخواهد که تعداد رشتههای $n$ حرفی از حروف کوچک انگلیسی را بشمارید که مقدار $f$ برای آنها برابر $x$ میشود.
ورودی
در سطر اوّل ورودی سه عدد $n$ و $x$ و $m$ میآید.
$$1 \le n \le 10$$ $$6 \le m \le 25$$ $$0 \le x \le 2^m$$
خروجی
در تنها خط خروجی یک عدد چاپ کنید که برابر پاسخ مسئله است.
زیرمسئلهها
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۳۲ | $n \le 5$ |
۲ | ۶۸ | بدون محدودیت اضافی |
مثال
ورودی نمونه ۱
1 0 10
خروجی نمونه ۱
0
ورودی نمونه ۲
1 2 10
خروجی نمونه ۲
1
کلمهی تکحرفی b
در این مثال شمرده میشود.
ورودی نمونه ۳
3 16 10
خروجی نمونه ۳
4
این ۴ کلمه، dxl
و hph
و lxd
و xpx
هستند.
ارسال پاسخ برای این سؤال