مدتی است که زورو به فکر خرید سرور است. زورو پس از بررسیهای بسیار سرور مناسب پیدا کرده است که سرور ام هسته دارد که هر کدام فرکانس دارد. قیمت سرور ام نیز است. لازم به ذکر است که هستههای یک سرور از یکدیگر مستقلاند و میتوانند کارهای متفاوتی را انجام دهند.
زورو که به فکر کسب و کار است ، با جست و جوی فراوان مشتری پیدا میکند. مشتری ام حاظر است که واحد پول به زورو بدهد به شرطی که زورو هسته از سرور (های)ش را که هر کدام حداقل فرکانس داشته باشد را به او اجاره دهد. لازم به ذکر است که هر هسته را میتوان به حداکثر یک نفر اجاره داد.
زورو که نمیخواهد این فرصت را از دست بدهد، از شما خواسته که به او کمک کنید و حداکثر سود ممکن را به او بگویید.
در خط اول ورودی ، تعداد سرورهای موجود برای خرید آمده است.
در هر یک از خط بعدی سه عدد ، و آمده است که نشاندهنده مشخصات سرور ام است.
در خط بعدی ورودی ، تعداد مشتری های زورو آمده است.
در هر یک از خط بعدی سه عدد ، و آمده است که نشان دهنده ی مشخصات مشتری ام است.
تنها یک عدد چاپ کنید که برابر با بیشینه سود ممکن زورو است.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۱۸ | |
۲ | ۱۸ | |
۳ | ۱۸ | |
۴ | ۱۸ | |
۵ | ۱۸ | |
۶ | ۱۰ | بدون محدودیت اضافی |
برنامهای بنویسید که عدد و سپس یک دنباله -تایی را از ورودی بخواند و سپس مقدار زیر را چاپ کند:
که را اینگونه تعریف میکنیم:
در سطر اول ورودی یک عدد آمده است و در سطر دوم عدد طبیعی آمده است که عدد -ام نمایانگر است.
دقت کنید که این سوال دارای زیرمسئله میباشد.
برنامهی شما باید تنها یک خروجی چاپ کند که برابر مقدار گفته شده است.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۲۰ | |
۲ | ۳۰ | |
۳ | ۵۰ | بدون محدودیت اضافی |
افراد ۱ تا تیمبندی شدهاند و در یک صف قرار گرفتهاند. به یک شیوه تیم بندی یک دنباله نسبت میدهیم به این شکل که به ترتیب عناصر دنباله را میسازیم:
یک دنباله به شما داده شده است که تضمین میشود تیمبندیای وجود داره که دنبالهاش برابر آن شود. تعداد تیمبندیهایی را بشمارید که دنبالههایشان از لحاظ لکسیکوگرافیکالی کمتر یا برابر دنباله باشد. چون ممکن است این عدد خیلی بزرگ باشد، باقیمانده آن را به حساب کنید.
در خط اول ورودی یک عدد داده شده است. در خط دوم دنباله داده شده است.
باقیمانده تعداد تیمبندیهای با شرایط گفته شده بر را در یک خط چاپ کنید.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۳۰ | |
۲ | ۲۰ | |
۳ | ۲۰ | |
۴ | ۳۰ | بدون محدودیت اضافی |
دنبالههای معتبر:
شنگدباو (shengdebao) معلم یک مهد کودک شده است! هر کدام از بچههای این مهد قدرتی دارد، به طور دقیقتر قدرت کودک ام برابر است.
معضلی که در بین بچهها الان وجود دارد این است که میخواهند دو تیم تشکیل بدهند و با هم به بازی «کتک کاری» مشغول شوند! ممکن است تعدادی از بچهها در این بازی شرکت نکنند اما یک نکته که خیلی مورد توجه است این است که اگر قرار باشد تعدادی از بچه ها در تیم اول و تعدادی در تیم دوم باشند جمع قدرت بچه های تیم اول و تیم دوم با هم به پیمانه ی برابر باشند.
شنگدباو به خاطر اینکه به بچه ها درس دوستی و مهربانی بدهد به آنها در حل معضلشان کمک نکرد! اکنون بچه ها پیش شما آمدهاند و میخواهند تعدادی از آنها را در تیم اول و تعدادی در تیم دوم قرار دهید به طوری که جمع قدرت های دو تیم به پیمانهی برابر شود. به آنها کمک کنید!
در اولین سطر ابتدا و سپس آمده است. که تعداد بچه ها است.
در سطر بعدی عدد داده شده است که با فاصله جدا شده است. امین عدد است.
اگر روشی برای انجام این کار نبود خروجی دهید: laelahaellallah
در غیر اینصورت ابتدا خروجی دهید alhamdolellah
و در سطر بعدی عدد خروجی دهید که هر کدام برابر یا یا است.
اگر بود یعنی کودک در هیج تیمی نیامده است و اگر بود یعنی در تیم اول و اگر بود یعنی در تیم دوم آمده است.
توجه کنید باید حداقل یکی از تیمها خالی نباشد، یعنی تمامی اعداد خروجی نباید برابر صفر باشد. ولی ممکن است یا نداشته باشیم.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۱۰ | |
۲ | ۶ | |
۳ | ۹ | |
۴ | ۳۵ | |
۵ | ۴۰ | بدون محدودیت اضافی |
تیزی و کسری روی یک گراف همبند بازی میکنند. هر کدام از آنها روی یکی از راس های گراف قرار گرفتهاند.
دو راس از این گراف راس های سرور نام دارند که این دو راس حتما با یک یال بهم وصلند.
تیزی و کسری یکی درمیان حرکت میکنند و ابتدا تیزی حرکت میکند. آنها در هر ثانیه میتوانند به یکی از راس های مجاور راس فعلی خود بروند اما مجبور به حرکت نیستند. قطع کردن سیم های یک سرور هم یک ثانیه طول میکشد.
هدف تیزی این است که به یک راس سرور برسد و سیم آن را قطع کند. کسری میخواهد جلوی او را بگیرد. کسری در صورتی برنده میشود که تا ابد جلوی کشیدن سیم سرور توسط تیزی را بگیرد. یا اینکه قبل از کشیده شدن سیم سرور با تیزی در یک راس باشد.
اما کسری خوابش میآید و میخواهد بیشتر بخوابد.
او میخواهد آنقدر بخوابد تا بعد از بیدار شدن همچنان مطمئن باشد میتواند از تیزی ببرد. بیشترین تعداد ثانیهای که کسری میتواند به جای بازی کردن بخوابد را پیدا کنید.
دقت کنید که کسری در زمانی که خواب است حتی اگر با تیزی در یک راس قرار بگیرد برنده نمیشود.
در خط اول ورودی و به شما داده میشود که به ترتیب تعداد راس های گراف و تعداد یال های آن است.
در خط بعدی ۴ عدد و و و به شما داده میشود که شماره راس ابتدایی تیزی است و شماره راس ابتدایی کسری. و شماره راس های دو سرور هستند.
در هر یک از خط بعدی دو عدد و به شما داده میشود که نشان دهنده ی یک یال بین و است.
در تنها خط خروجی حداکثر زمانی که کسری میتواند بخوابد تا باز هم تیزی را ببرد بدهید. اگر کسری نمیتواند تیزی را ببرد چاپ کنید.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۳۰ | |
۲ | ۷۰ | بدون محدودیت اضافی |
شایان مقادیر زیادی به بهنود بدهکار است.(مقدار زیادی وجه نقد، زمینهای شمال مکزیک و بخش قابل توجهی از نفت خاورمیانه) و به همین علت تمام تلاشش را میکند تا با او مواجه نشود.
آنها در شهری زندگی میکنند که به شکل یک گراف راسی و یالی است. شایان در ابتدا در راس است و میخواهد به راس که حمیدرضا در آنجا انتظارش را میکشد برود تا با او تنیس بازی کند(حمیدرضا خیلی اهل فوتبال نیست)
همزمان که شایان به سمت راس میرود، بهنود نیز که از اینکه نتوانسته طلبش را وصول کند، افسرده و پریشان شده با سرعتی برابر شایان گشتی مشخّص را با هدفی نامشخص طی میکند.(هر دو همزمان شروع به حرکت میکنند و برایشان طی کردن هر یال ۱ ثانیه زمان میبرد) شایان کاملا مسیری که بهنود طی میکند را میداند، و سعی میکند گشتی را انتخاب کند که در هیچ کجای آن بهنود را نبیند٬ همچنین شایان میتواند در ۱ ثانیه در یک راس ثابت بماند و حرکت نکند یا در یک راس چند بار برود اما مسیر بهنود کاملا ساده است. (دقت کنید که شایان ممکن است بهنود را در یک راس یا در یک یال ببیند، در صورتی که هر دو همزمان در حال طی کردن آن یال باشند.)
او منطقا کوتاهترین گشتی از به که شرط بالا را دارد طی میکند، اما قبل از حرکت از شما میخواهد که به او بگویید، طول این گشت چقدر است یا بگویید چنین گشتی وجود ندارد.
در سطر اول ورودی دو عدد و و در سطر بعد دو عدد و آمدهاست.
در سطر بعد هر خط، دو عدد و آمده است، که به معنی وجود یالی بی جهت از راس به راس میباشد.
در سطر بعدی عدد و در ادامه عدد آمده است که عدد ام برابر با راس ام مسیر بهنود است.
در تنها سطر خروجی، طول کوتاه ترین گشت با شرط گفته شده در صورت سوال را چاپ کنید. اگر چنین گشتی وجود ندارد، -1
چاپ کنید.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۳۱ | |
۴ | ۶۹ | بدون محدودیت اضافی |
در اواسط حکومت خشایار شاه بر اسپادانا، یکی از قبایل همسایه- که از بردن نامش چشمپوشی میکنیم- تصمیم به حمله به اسپادانا گرفت. اما از آنجایی که خشایارشاه پادشاهی با کفایت بود، با کمک کیوان خیلی سریع اقدام به تشکیل سپاهی پر قدرت کرد.
در اسپادانا، سرباز با شمارههای تا به ترتیب در یک صف قرار دارند که هوشمندی سرباز برابر است. هوشمندی یک گروه از سربازها نیز برابر میانگین هوشمندی سربازهای آن گروه است. برای مثال هوشمندی یک گروه نفره از سربازها با هوشمندی برابر است.
از آنجایی که قبیله همسایه در گروه به اسپادانا حمله میکرد، خشایارشاه به کیوان دستور داده بود که سربازها را به حداقل گروه افراز کند. همچنین خشایارشاه دستور داده بود هر گروه از سربازها یک زیردنباله متوالی از سربازهای درون صف باشد.
به بیان دقیقتر کیوان باید سربازها را به حداقل زیردنباله متوالی افراز کند.
اعتبار یک گروه بندی توسط کیوان را مینیمم هوشمندی بین گروهها تعریف میکنیم. برای مثال فرض کنید دنباله باشد، و کیوان دنباله را به زیردنباله متوالی مثل و افراز کند در اینصورت هوشمندی گروهها برابر و میشود. درنتیجه اعتبار این گروهبندی است.
از آنجایی که اسپادانا در آن زمان بسیار مقتدر بود، خشایارشاه به کیوان دستور داده بود که اعتبار گروهبندیاش در بین تمام گروهبندیهای ممکن بیشینه باشد. شما میدانید که در آن زمان کیوان حال و روز درست و حسابی نداشته است، به او کمک کنید و بیشینه اعتبار ممکن در بین همه گروهبندیها را بیابید.
در خط اول ورودی دو عدد آماده است.
سپس عدد آمده است که میزان هوشمندی سربازها را معین میکند.
در تنها خط خروجی, جواب مساله را چاپ کنید.
با توجه به اینکه جواب ممکن است اعشاری باشد، جواب شما در صورتی پذیرفته میشود که اختلاف آن با جواب بهینه کمتر از باشد.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۱۰ | |
۱ | ۲۰ | |
۲ | ۳۰ | |
۳ | ۴۰ | بدون محدودیت اضافی |
شما بایستی از الگوریتم برای حل مسئله راهبندان استفاده کنید.
در این مسئله، یک خودروی قرمز رنگ به همراه چند خودروی دیگر در یک پارکینگ مشابه شکل پارک شدهاند. میخواهیم با جابجا کردن خودروها، برای خودروی قرمز رنگ که بین سایر خودروها گرفتار شده است، راهی باز کرده و آن را از پارکینگ خارج نماییم. همهی خودروها در این پارکینگ به صورت افقی و عمودی پارک شدهاند. از آنجایی که اکنون امکان دور زدن وجود ندارد، خودروهایی که به صورت افقی قرار دارند تنها میتوانند به چپ و راست حرکت کرده و خودروهای عمودی نیز فقط امکان بالا و پایین رفتن دارند.
هدف این است که با کمترین تعداد حرکت، خودروی قرمز رنگ را که همواره به صورت افقی و روبروی درب خروجی (که در ضلع شرقی پارکینگ قرار دارد) پارک شده است، از پارکینگ خارج نماییم.
در هر حرکت، یک خودرو میتواند در راستایی که قرار دارد به هر تعداد خانه دلخواه جابجا شود، مشروط بر اینکه با سایر خودروها و یا دیوار برخورد نکند. همچنین خارج کردن خودروهای دیگر به جز خودروی قرمز رنگ از پارکینگ مجاز نمیباشد.
ورودی شامل مشخصات پارکینگ و خودروهای پارک شده در آن به همراه موقعیت خودروی قرمز رنگ است. خط اول ورودی عدد است که تعداد پارکینگها را مشخص میکند. پس از آن مشخصات پارکینگ به صورت پشت سر هم در ورودی میآید. برای هر پارکینگ، در خط اول سه عدد ، و قرار دارد که به ترتیب تعداد سطرها و ستونهای پارکینگ و تعداد خودروهای درون آن (شامل خودروی قرمز رنگ) را مشخص میکند. خط بعدی هر یک مشخصات یک خودرو را نشان میدهد. در هر خط، ابتدا دو عدد و قرار دارند که به ترتیب سطر و ستون قسمت بالا و سمت چپ خودرو را مشخص میکنند. در ادامه راستای خودرو با یک کاراکتر برای افقی و یا برای عمودی مشخص میشود. در انتهای خط نیز عدد طول خودرو را نشان میدهد.
لازم به ذکر است که خانه بالای سمت چپ در سطر ١ و ستون ١ قرار داشته و خانه پایین سمت راست در سطر و ستون قرار دارد. ضمناً اولین خط از لیست مشخصات خودروها متعلق به خودروی قرمز رنگ است. نمونه ورودی متناسب با شکل در زیر آمده است.
به ازای هر پارکینگ، برنامه باید کمترین تعداد حرکات که منجر به خروج خودروی قرمز رنگ از پارکینگ میشود را چاپ کند. نمونه خروجی برای شکل در زیر آمده است.
فرض کنید وظیفه وجود دارد که از ۱ تا شمارهگذاری شدهاند. در این مسئله شما باید وظیفهای که بیشترین تعداد وابستگی را دارد پیدا کنید.
یک وظیفه مانند به وظیفه دیگری مانند وابسته است در صورتی که به وابستگی مستقیم یا غیرمستقیم داشته باشد. به عنوان مثال اگر وظیفه به وظیفه وابسته است و وظیفه نیز به وظیفهای مانند وابسته باشد، در این صورت وظیفه دو وابستگی خواهد داشت. یکی مستقیم و دیگری غیرمستقیم. فرض کنید که در وابستگیها دور وجود ندارد.
ورودی شامل مجموعهای از سناریوها میباشد. هر سناریو با یک عدد صحیح () شروع میشود. که تعداد وظیفههای آن سناریو را نشان میدهد و به دنبال آن خط میآید (هر خط برای یک وظیفه).
در خط ام از این خط، یک عدد صحیح () میآید که تعداد وابستگیهای مستقیم وظیفه شماره را نشان میدهد و به دنبال آن عددصحیح میآید که شماره وظیفههایی است که وابستگی به آنها وجود دارد.
ورودی یک سناریو با خاتمه مییابد.
برای هر سناریو در یک خط شماره وظیفه با بیشترین وابستگی را چاپ کنید. اگر چند وظیفه دارای بیشترین وابستگی هستند شماره وظیفهای را که شماره کمتری دارد، چاپ کنید.
سرانجام هریپاتر توانست طلسم شکست دادن دشمن بزرگ خود مالفوی را ابداع کند! هری یک جفت دستبند قدرت دایرهای ساخته که روی مچ دستهای راست و چپش بسته میشود. او روی هر دستبند دنبالهای از حروف جادویی نوشته است که هر حرف فعال قدرت او را تقریبا به اندازه یک بید کتکزن افزایش میدهد! با این حال یک مشکل وجود دارد. دستبندها فقط زمانی کار میکنند که زیردنباله حروف فعال شده روی هر دو دستبند یکسان باشد. برای مثال در شکل زیر یک جفت دستبند داده شده که حروف دو رشته و به عنوان حروف جادویی روی آنها قرار گرفته است که یک فعالسازی بهینه از این حروف به هری قدرتی به اندازه ۱۴ بید کتکزن میدهد.
روی دستبند اول حروف در جهت ساعتگرد و روی دستبند دوم همین حروف در جهت پادساعتگرد فعال شده است. بطور کلی ترتیب حروف مهم است اما جهت زیر دنباله فعال روی هر دستبند (در جهت عقربههای ساعت یا خلاف جهت) ممکن است یکسان باشد یا نباشد. فراموش نکنید که دستبندها دایرهای هستند! شما باید به هری کمک کنید که تصمیم بگیرد چه زیردنباله بهینهای از حروف روی دستبندهایش را لازم است فعال کند تا بتواند مالفوی را شکست دهد.
فایل ورودی حداکثر شامل ۱۰۰ نمونه ورودی است. (حداکثر شامل ۵ نمونه بزرگ) هر نمونه یک خط شامل یک جفت رشته که با فاصله جدا شده اند و مربوط به همان دنباله حروف روی دستبندهای قدرت چپ و راست هری است (به ترتیب) می باشد و هر رشته تنها از حروف کوچک تشکیل خواهد شد. طول هر رشته ورودی بین تا کاراکتر است به جز در نمونه های بزرگ که طول هر رشته ورودی بین تا کاراکتر می باشد.
حداکثر قدرتی که هری با فعال کردن حروف روی دستبندها می تواند برسد (بر حسب واحد بید کتکزن) را چاپ کنید.
برنامهای بنويسيد كه یک عدد صحيح را که تعداد ارقامش مشخص نيست از کاربر گرفته و هر رقم را به تعداد آن رقم چاپ کند.
در یک خط عدد به شما داده میشود. طول عدد از ۱۰۰ کوچکتر است.
به ازای هر رقم ابتدا خود آن رقم به همراه :
را چاپ کرده سپس به تعداد آن رقم از همان رقم چاپ کنید.
مادر سوکراتیس پاپاستوپولوس برای تقویت سوکرات هر روز برای او یک لیوان شیر پاستوریزه آماده میکند. سوکرات ۳ لیوان با ظرفیتهای دارد که هر یک اعدادی در بازه ۱ تا ۲۰ هستند. مادر سوکرات هر روز لیوان با ظرفیت را پر از شیر میکند ولی از آنجا که سوکرات بازیگوش است ممکن است شیر را مدام از این لیوان به لیوان دیگر بریزد!
اما سوکرات از آنجایی که عاشق شیر است در این فرآیند انتقال شیر هیچ مقداری را بر روی زمین نمیریزد و در واقع عمل ریختن شیر از لیوانی به لیوان دیگر را حتماً تا جایی که لیوان مقصد جا داشته باشد انجام میدهد. از طرفی از سر کنجکاوی! اگر لیوان مقصد، گنجایش بیش از لیوان مبدأ داشته باشد حتما تمام شیر را درون لیوان مقصد خالی میکند به گونهای که در لیوان مبدأ شیری باقی نماند.
برنامهای بنویسید که مادر سوکراتیس پاپاستوپولوس بداند با این بازیگوشی سوکرات (ریختن شیر از لیوانی به لیوان دیگر)، چه مقدار شیر میتواند در لیوان با ظرفیت پس از هر حرکت وجود داشته باشد در حالیکه لیوان با ظرفیت خالی باشد.
یک خط شامل سه عدد , ,
تمامی مقادیر ممکن شیر، در لیوان با ظرفیت در حالی که لیوان با ظرفیت خالی باشد. این مقادیر باید به صورت صعودی مرتب شده باشند.
میخواهیم یک شبکهی اجتماعی ایجاد کنیم که امکان افزودن و جستوجو کردن افراد در آن وجود داشته باشد. در این شبکهی اجتماعی، اطلاعات هر شخص شامل نام، جنسیت، سن و شناسهی آن شخص میباشد. شناسهی هر شخص بین ۵ تا ۱۰ کاراکتر و شامل حروف کوچک و بزرگ الفبای انگلیسی و اعداد میباشد و شناسهی افراد مختلف متفاوت است. دستورات این شبکه به شکل زیر هستند:
در دستور دوم ممکن است شناسهی نوشته شده معرف یک شخص نباشد؛ در این صورت شما باید در صورت وجود، افرادی را که شناسهی آنها با کاراکترهای نوشته شده شروع میشود به عنوان نتیجهی جستوجو گزارش کنید. اگر تعداد این افراد بیشتر از ۱۰ نفر بود، فقط ۱۰ نفر اول (به ترتیب لغتنامهای) را گزارش کنید.
در هر خط از ورودی برنامه، یکی دستورهای بالا وارد خواهد شد. تعداد دستورات از ۱۰۰۰۰۰ کمتر است.
برای دستورهای Add عبارتی به شکل User <id> added successfully را در خروجی چاپ کنید.
برای دستورهای Find، نتایج به دست آمده را در خروجی چاپ کنید. برای اینکه نتایج دستورهای مختلف قابل تمایز باشند، در هر خط خروجی شمارهی دستور Find متناظر با آن را نیز چاپ کنید. همچنین اگر برای جستوجوی انجام شده نتیجهای یافت نشد، عبارت No user found را در خروجی قرار دهید. برای روشنتر شدن خروجیها به نمونه توجه کنید.
برنامهای بنویسید که به ترتیب سه ورودی را دریافت کرده به طوری که عددی در مبنای بوده و مبنای عددی است که باید حساب شود: یعنی:
آنگاه اگر پالیندورم(آینهای) است چاپ کند و گرنه .
یک عدد را پالیندروم یا آینهای میگوییم هرگاه با معکوسش برابر باشد مثلاً ۱۲۱ آینهای است ولی ۱۳۲ نیست.
در خط اول عدد ، در خط دوم عدد و در خط سوم عدد به شما داده میشود.
در یک خط عبارت یا را چاپ کنید.
یک مجموعهی سه عضوی را فیثاغورثی میگویند در صورتی که سه عضو آن بتوانند اضلاع یک مثلث قائم الزاویه باشند. برنامهای بنویسید که عدد را از ورودی دریافت کرده، یک سه تایی فیثاغورثی متشکل از اعداد صحیح که مجموع اعضای آن باشد در خروجی نمایش دهد. در صورتی که هیچ سهتایی فیثاغورثی پیدا نکرد، عبارت را نمایش دهد.
در یک خط عدد به شما داده میشود.
در تنها خط خروجی چنانچه چنین مجموعه ای یافت میشد، اعضایش را به ترتیب از کوچک به بزرگ چاپ کنید در غیر اینصورت عبارت را چاپ کنید.
حالا که وقت فرزاد بیشتر است، او می تواند بیشتر برای پروژه وقت بگذارد. از این رو فرزاد به دانیال گفت که در روز شنبه به مکان همیشگی خود بروند و بر روی صورت پروژه کار کنند. آنها در زمان ذکر شده به محل قرار آمدند و شروع به کار بر روی صورت پروژه کردند. اما طبق معمول سر اینکه کدام یک زمین بازی را درست کنند بین آنها دعوایی پیش آمد. بلاخره پس از مشاجره های طولانی، بازی زیر را اختراع کردند:
در این بازی هر کدام از آنها یک ماتریس مربعی انتخاب میکنند. سپس دو ماتریس انتخابی را در هم ضرب کرده، در صورتی که دترمینان ماتریس حاصل فرد بود، دانیال و در غیر این صورت فرزاد باید زمین بازی را درست کند. برنامهای بنویسید که سرعت آنها را در بازی بالا ببرد.
در اولین خط ورودی ابعاد ماتریس های ورودی و در ادامه دو ماتریس گرفته میشود. طول ماتریس ها از ۱۰ کوچکتر است.
پس از انجام محاسبات، در خروجی یکی از دو کلمه ی یا نمایش داده میشود.
برنامهای بنویسید که عدد و سپس یک دنباله -تایی را از ورودی بخواند. سپس به برنامهی شما پرسش داده میشود که هر پرسش بصورت یک عدد است و برنامهی شما باید نتیجهی این پرسش را چاپ کند. نتیجهی پرسش برابر مقدار زیر است:
برنامهتان را طوری بنویسید که پیشپردازش طولانی نداشته باشد و پاسخ هر پرسش را سریع بدهد؛ یعنی پیش از پرسش اول و پس از دریافت هر پرسش تا پایان خروجی دادن کمتر از ضریب ثابتی از دستور (مستقل از دیگر متغیرهای ورودی بجز ) انجام بشود. همچنین کل اجرای برنامهی شما نباید بیش از ۲ ثانیه طول بکشد.
راهنمایی:
روشهای مختلفی برای پیادهسازی بهینه وجود دارد؛ یکی از آنها اینچنین است: برای هر پرسش مقدار گفتهشده را با یک حلقه ساده بدست آورید؛ در این روش تنها کاری که برای بهینهسازی زمان برنامه باید بکنید این است که پس از محاسبهی نتیجهی یک پرسش، این نتیجه را جایی ذخیره کنید که اگر در ادامه دقیقاً همان پرسش دوباره مطرح شد، دوباره آن را محاسبه نکنید و مقداری که از قبل محاسبه شده بود را خروجی دهید.
در سطر اول ورودی دو عدد و آمده است و در سطر دوم عدد طبیعی آمده است که عدد -ام نمایانگر است. سپس در سطر بعدی هر خط یک سوال بصورت یک عدد طبیعی آمده است که برابر است.
در سطر هریک یک عدد چاپ کنید که پاسخ به یکی از پرسشهای داده شده است.
پاسخ پرسشها به ترتیب:
برنامهای بنویسید که با ورودی گرفتن عدد ، همهی زیرمجموعههای مجموعهی را چاپ کند. این زیرمجموعهها را به ترتیب الفبایی مرتب کنید؛ یعنی ابتدا عناصر هر زیرمجموعه را مرتب کنید و سپس به آنها مانند کلمات نگاه کنید و به ترتیبی که در لغتنامه میآیند مرتبشان کنید.
تلاش کنید که این کار را تنها به وسیلهی تابع بازگشتی انجام دهید؛ یعنی طوری پیادهسازی کنید که این مجموعهها به همین ترتیب تولید و چاپ شوند. (به جای این که ابتدا همه را تولید کرده و سپس مرتب کنید.)
برای آشنایی با قالب خروجی دادن به نمونهها توجه کنید.
ورودی تنها شامل یک خط است که در آن یک عدد طبیعی آمده است.
خروجی برنامهی شما باید شامل خط باشد که در هر خط یک زیرمجموعه چاپ شود.