حنا وارد مسابقه هندونهخوری شده است. در این مسابقه هندوانه وجود دارد که به ترتیب با شمارههای ۱ تا نامگذاری شدهاند، همچنین وزن هندوانه ام، است. (وزن هندوانهها متمایز است.)
حنا در هر مرحله از این مسابقه دو هندوانهای که کمترین شماره را دارند را انتخاب میکند و هندوانهای که سبکتر است را میخورد. حنا به این کار ادامه میدهد تا فقط یک هندوانه باقی بماند.
بعد از مسابقه حنا به این فکر رفته که آخرین هندوانه چه شمارهای داشت اما از آنجا که خیلی هندوانه خورده، فکرش کار نمیکند. به حنا کمک کنید و با گرفتن ها شماره آخرین هندوانه را بگویید.
در سطر اول تعداد هندوانهها آمده است.
در سطر بعدی آمده است.
در تنها سطر خروجی شماره هندوانه باقی مانده را چاپ کنید.
در این نمونه به ترتیب اتفاقهای زیر اتفاق میافتد.
در نهایت هندوانه چهار باقی میماند.
حنا قهرمان مسابقات هندونهخوری شده و مقدار زیادی پول جایزه گرفته است. حال حنا میخواهد به خانهاش برگردد و با پول مسابقات مهمانی بگیرد.
شهر محل زندگی حنا، یک خیابان با خانه است که حنا در خانهی ام زندگی میکند و مسابقات هندونهخوری در خانه ام برگزار میشود. او میداند در تعدادی از خانهها زورگیر زندگی میکند و اگر از آنها رد شود، زورگیر پول حنا را از او میگیرند و حنا نمیتواند مهمانی بگیرد.
حنا از پلیس کمک میخواهد. پلیسها در روز برنامهنویس میتوانند در هر عملیات، یک بازه به طول ( یک عدد حسابی است) را که همه اعضای آن زورگیر هستند را انتخاب کنند و آن خانهها را پاکسازی کنند.
پلیسها وقت زیادی ندارند. برای همین از شما میخواهند کمترین تعداد عملیات برای پاکسازی مسیر بین حنا و مسابقه هندونهخوری را بگویید.
در سطر اول عدد آمده که نشاندهندهی طول خیابان است.
در سطر دوم یک رشته به طول آمدهاست. خانههایی که در آن زورگیر وجود دارد حرف H
و بقیه خانهها حرف P
هستند. تضمین میشود که در خانههای و زورگیر وجود ندارد.
در سطر سوم و به ترتیب آمدهاند.
در تنها سطر خروجی، کمترین تعداد عملیات برای پاکسازی مسیر حنا از زورگیرها را بگویید.
در مسیر خانه اول به سوم، تنها در خانه دوم زورگیر وجود دارد که پلیسها طی یک مرحله او را دستگیر میکنند.
در مسیر خانه هشتم به سوم تنها در خانههای ۴ و ۵ و ۷ زورگیر وجود دارد که پلیسها طی یک مرحله زورگیر خانهی ۴ و ۵ و در مرحلهی بعد زورگیر خانهی ۷ را دستگیر میکنند. در حرکت اول یک بازه به طول ۲ و در حرکت دوم یک بازه به طول ۱ پاکسازی شد که طول هر دو بازه توانی از ۲ بود.
دوستان حنا برای هدیه تولد او شیرینی خریدهاند و آنها را پشت سر هم روی میز قرار دادهاند. آنها به حنا گفتهاند که وزن شیرینی ام است (ممکن است وزن یک شیرینی منفی باشد!). حالا حنا میخواهد یک بازه پشت سر هم از شیرینیها را انتخاب کند و بخورد. اما از آنجایی که حنا رژیم دارد، مجموع وزن شیرینیهایی که میخورد، نمیتواند بیشتر از باشد. حنا که گیج شدهاست به شما روی آورده تا به او بیشترین وزن شیرینی که میتواند بخورد را بگویید.
توجه کنید که حنا همیشه گزینه شیرینی نخوردن را دارد و جواب حداقل صفر هست.
در سطر اول عدد و به ترتیب آمدهاست.
در سطر بعدی به ترتیب آمدهاست.
بیشینه وزن شیرینی که حنا در مجموع میتواند بخورد را خروجی دهید.
حنا تنها میتواند بازه را انتخاب کند.
در اینجا میتوانیم بازه را انتخاب کنیم.
در اینجا میتوانیم بازه را انتخاب کنیم.
پدر حنا برای هدیه تولد او، صندوقچهی پدربزرگش را باز کردهاست و تکه کد زیر را به او دادهاست. (کد زیر یک شبهکد است و میتوانید درباره شبهکد در اینجا بخوانید.)
در کنار این تکه کد، کاغذی پیدا کرده و آن را نیز به حنا میدهد. روی کاغذ نوشته شده "به این تکه کد یک جایگشت از اعداد تا را دادم و در خروجی اعداد را گرفتم.". حنا قصد دارد جایگشتی که پدربزرگش به عنوان ورودی به تکه کد داده بود را پیدا کند. به او کمک کنید تا تعداد جایگشتهای مختلفی که میتوانند جایگشت پدربزرگش باشند را پیدا کند.
در سطر اول عدد آمدهاست.
در سطر بعدی، اعداد به ترتیب آمدهاند.
تضمین میشود که به ازای حداقل یک جایگشت، خروجی دادهشده تولید میشود.
در تنها سطر خروجی، باقیماندهی تعداد جایگشتها بر را چاپ کنید.
جایگشت پدربزرگ فقط میتواند باشد.
جایگشت پدربزرگ فقط میتواند باشد.
جایگشت پدربزرگ فقط میتواند باشد.
همان طور که میدانید حنا به ریاضیات علاقه خاصی دارد. او برای این که این علاقه را به دوستانش ثابت کند، آنها را به چالش زیر دعوت میکند.
هر کدام آنها باید دو عدد و را انتخاب کنند و سپس حنا تمام دنبالههای شامل اعداد طبیعی را که ویژگیهای زیر را دارند یادداشت میکند.
برای مثال اگر و باشد، حنا دنبالههای زیر را یادداشت میکند.
دوستان حنا که از مهارت حنا شگفت زده میشوند از او میخواهند تا به ازای هر دنباله حاصلضرب اعضایش را محاسبه کند و در نهایت بگوید که چند مقدار متفاوت در این بین وجود دارد (در نمونه بالا این مقدار برابر با ۲ است)؛ اما چون حنا در ضرب کردن کمی مشکل دارد از شما میخواهد تا به او کمک کنید و جواب دوستانش را بدهید.
در سطر اول و به ترتیب آمدهاست.
در تنها سطر خروجی باقیمانده جواب مسئله را بر چاپ کنید.
مقادیر مختلف حاصلضرب در این مثال ۱ و ۲ و ۴ هستند.
معلم حنا هدیه تولد به او یک درخت ریشهدار راسی داده که ریشه آن راس شماره است. روی راس شماره آن عدد نوشته شدهاست. حنا بعد از یادگرفتن الگوریتم جستجوی عمق اول تکه کد زیر را نوشته است.
حنا میخواهد تابع countInversions
را فراخوانی کند. او میداند که خروجی این تابع به ترتیب همسایههای هر راس در تابع DFS
وابسته است. به او کمک کنید، کمینه خروجی ممکن این تابع را پیدا کند.
در واقع حنا میخواهد طوری ترتیب همسایههای رئوس را انتخاب کند که تعداد نابهجاییهای آرایه b
کمینه بشود.
منظور از نابهجایی تعداد جفتهای است که باشد.
در سطر اول ورودی عدد آمدهاست.
در سطر دوم، اعداد به ترتیب آمدهاند.
در سطر سوم، اعداد ، به ترتیب آمدهاند که پدر راس شماره درخت معلم است.
در سطر اول خروجی، کمینه خروجی تابع countInversions
را چاپ کنید.
بعد از یک کلاس ریاضیات سخت، حنا برای تفریح به همراه بنا به جنگل رفته است. حنا و بنا هر کدام یک درخت (گراف بدون دور و همبند) ریشهدار راسی انتخاب کردهاند. آنها به یک دنباله از اعداد مانند علاقه دارند اگر هر دو شرط زیر برقرار باشد:
آنها عاشق یک دنباله هستند اگر هر دو شرط زیر برقرار باشد:
در یک درخت ریشهدار، به راس جد راس میگوییم اگر یکی از دو شرط زیر برقرار باشد:
طول بزرگترین دنبالهای که حنا و بنا به آن علاقه دارند، و تعداد دنبالههایی که آنها عاشق آن هستند، چقدر است؟
در سطر اول ورودی، عدد آمدهاست.
در سطر بعدی یالهای درخت حنا آمدهاست. در امین سطر و دو سر یال ام در درخت حنا آمدهاست. ریشه درخت حنا راس شماره است.
در سطر بعدی یالهای درخت بنا آمدهاست. در امین سطر و دو سر یال ام در درخت بنا آمدهاست. ریشه درخت بنا راس شماره است.
در تنها سطر خروجی، طول بزرگترین دنبالهای که حنا و بنا به آن علاقه دارند و باقیمانده تعداد دنبالههایی که آنها عاشق آن هستند را بر چاپ کنید.