Processing math: 100%

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:مرحله ی سوم:دوره ی ۲۹:سوال ۴

اتاق فرار

پیمان و کیوان به همراه دوستانشان به یک اتاق فرار رفته‌اند و در آخرین مرحله باید رمز قفل نهایی را بیابند. پیمان در یکی از مراحل قبلی دو کاغذ پیدا کرده است که دنباله‌های زیر را نمایش می‌دهند.

{b1=123,b2=456bi=(2×bi1+5×bi2)modΔ  i>2 {a1=987,a2=654ai=(ai1+3×ai2)modΔ  i>2

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

«دنباله‌ی a را تا جمله‌ی n و دنباله‌ی b را تا جمله‌ی m حساب کن. پاسخ در جدول n×m مانند M است که Mi,j=aibj است. اگر به ازای هر زیر مستطیل این جدول حاصل عملگر or بیتی اعداد آن زیر مستطیل را حساب کنی، مجموع این اعداد به ازای همه‌ی زیرمستطیل‌های M رمز را به تو نشان می‌دهد.»

منظور از Mi,j خانه‌ی سطر i و ستون j جدول M و عملگر xor بیتی (یای انحصاری) است. یک زیر مستطیل از M را می‌توان به صورت (i1,i2,j1,j2) نشان داد که شامل خانه‌هایی مانند (x,y) است که 1i1xi2n & 1j1yj2m

باشد. با پاسخ به سوالات زیر به کیوان، پیمان و دوستانشان کمک کنید تا رمز قفل را کشف کنند و از اتاق فرار خارج شوند.

فرض کنید رمز قفل به ازای مقادیر n و m را با f(n,m) نشان می‌دهیم.

تمام پاسخ‌های ارائه شده در این سوال با فرض Δ=229939 محاسبه شده‌اند.

4- الف (11 نمره) : باقی‌مانده‌ی f(1,105) بر Δ چند است؟

پاسخ

87220

4- ب (11 نمره) : باقی‌مانده‌ی f(1000,1000) بر Δ چند است؟

پاسخ

31714

4- ج (11 نمره) : باقی‌مانده‌ی f(105,105) بر Δ چند است؟

پاسخ

153342


ابزار صفحه