سلام دوست عزیز😃👋

به «مسابقه‌ی ورودی بوت‌کمپ مهندسی نرم‌افزار ترب» خوش آمدی!

لینک‌های مفید برای شرکت در مسابقه:

می‌توانید سوال‌ها و مشکلات خود را از بخش «سوال بپرسید» با ما در میان بگذارید.

موفق باشید 😉✌

شهر اعداد: انتخاب خود


  • محدودیت زمان: ۴ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

مردم شهر دست‌به‌دست هم می‌دهند و یک صف بلند درست می‌کنند. هر شهروند یک عدد بین ۰ تا MM برای خودش انتخاب کرده است. عدد شهروند iiام برابر aia_i است.

حال از روی اعداد شهروندان اعداد t1,t2,,tnk+1t_1, t_2, \dots, t_{n-k+1} را به صورت زیر می‌سازیم.

aiai+1ai+k1=ti a_i \oplus a_{i+1} \oplus \dots \oplus a_{i+k-1} = t_i

منظور از \oplus عملگر xorxor است.

اکنون دیگر به اعداد شهروندان دسترسی نداریم و فقط دنباله‌ی tt را داریم. از شما می‌خواهیم تعداد حالت‌های ممکن برای اعداد شهروندان را محاسبه کنید.

از آن‌جایی که ممکن است پاسخ مسئله خیلی بزرگ باشد، باقی‌مانده‌ی پاسخ مسئله را بر 109+710^9 + 7 چاپ کنید.

ورودی🔗

در سطر اول به ترتیب سه عدد nn و kk و MM آمده است. 1kn50001 \le k \le n \le 5000

سپس در سطر بعد nk+1n-k+1 عدد می‌آید که عدد iiـم نشانگر tit_i است.

0M,ti50000 \le M, t_i \le 5000

زیرمسئله‌ها🔗

زیرمسئله ‌ محدودیت‌ها امتیاز
۱ 1k31 \le k \le 3 و 1kn1001\le k \le n \le 100 و 0M,ti1000 \le M, t_i \le 100 ۲۰
۲ 1kn2001 \le k \le n \le 200 و 0M,ti1000 \le M, t_i \le 100 ۵۰
۳ بدون محدودیت اضافه ۳۰

خروجی🔗

در تنها سطر خروجی یک عدد نامنفی که پاسخ مساله به پیمانه 109+710^9+7 است را خروجی دهید.

مثال🔗

ورودی نمونه ۱🔗

4 2 0
0 1 1
Plain text

خروجی نمونه ۱🔗

0
Plain text

با توجه به اینکه M=0M = 0 است، پس دنباله‌ی aa تماماً ۰ است و نمی‌تواند دنباله‌ی tt به صورت گفته شده باشد. بنابراین پاسخ مسئله برابر ۰ می‌شود.

ورودی نمونه ۲🔗

3 3 2
1
Plain text

خروجی نمونه ۲🔗

7
Plain text
توضیح نمونه ۲

دنباله‌های مطلوب:

  • 0,0,10, 0, 1
  • 0,1,00, 1, 0
  • 1,0,01, 0, 0
  • 1,1,11, 1, 1
  • 1,2,21, 2, 2
  • 2,1,22, 1, 2
  • 2,2,12, 2, 1

ورودی نمونه ۳🔗

25 23 89
22 37 41
Plain text

خروجی نمونه ۳🔗

809594952
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.