ايران ويج

نسخه‌ی کامل: اگه مردید اینو حل کنید.
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
من فقط الگوریتم می خوام.
یه کاغذ با ابعاد 65536*65536 داریم (دیجیتالی) که یه نقطه روشه که ما x(طول)وy(عرض)وp(رویاپشت صفحه)را داریم.بافرامین مشخصی صفحه را از وسط تا می کنیم.(مثلاْ چپ پایین یعنی صفحه را از طرف چپ به پایین تا می کنیم )تعداد و نوع حرکتها معلوم است.الگوریتم باید مشخص کند که پس از پایان حرکتها نقطه اولیه در کدام صفحه است؟(وقتی nبار تا کنیم 2به توان n صفحه داریم .)
ابتدا باید صفحه رو 32 بار تا بزنیم تا برگه ما به 4294967296 صفحه ( 65536*65536 صفحه ) تبدیل بشه . اینطوری مطمعن هستیم طبق Pigeonhole principle ( اصل لانه کبوتری ) نقطه ما توی یکی از این صفحه ها قرار خواهد داشت . حالا اگر این صفحات رو بشکل یک ماتریس دو بعدی فرض کنیم اونوقت با فرمول زیر و با داشتن متغیر های x و y میتونیم صفحه ای که این نقطه توش قرار داره رو محاسبه کنیم :
کد:
Page = ( y - 1) * 4 + x

مثلا اگر x=400 و y=650 باشه اونوقت :
کد:
Page = ( 650 - 1) * 4 + 400
page = 649*4 + 400
page = 2996

نقطه ما در صفحه 2996 ام قرار داره !
مرسی ولی منظورم این نبود.تعداد تا زدن ها محدودتره و جواب باید به نوع تاها بستگی داشته باشه.
لطفا بیشتر توضیح بدین ! من درست متوجه منظورتون نشدم چون توی صورت مسئله اینها بیان نشده بود
مثلا چپ,بالا یعنی سمت چپ کاغذ به طرف بالا تا بشه و ... .کلا تو هر مرحله 8 حالت تا زدن داریم. مثال: اگه در مرحله ی اول نقطه طرف چپ زیر صفحه باشه و ما راست ,پایین تا کنیم نقطه روی صفحه ی دوم میره . (امتحان کنید)دقت کنید ما در این مرحله 2 ورق دو رو داریم . یعنی 4 صفحه .