لینکهای مفید برای شرکت در مسابقه:
راهحلها و راهنماییها به مرور در طول هفته به انتهای هر سوال اضافه میشوند.
میتوانید سوالات خود را از قسمت "سوال بپرسید" مطرح کنید.
سری اول راهنماییها یکشنبه ساعت ۱۵ اضافه میشوند.
معلم حنا هدیه تولد به او یک درخت ریشهدار راسی داده که ریشه آن راس شماره است. روی راس شماره آن عدد نوشته شدهاست. حنا بعد از یادگرفتن الگوریتم جستجوی عمق اول تکه کد زیر را نوشته است.
حنا میخواهد تابع countInversions
را فراخوانی کند. او میداند که خروجی این تابع به ترتیب همسایههای هر راس در تابع DFS
وابسته است. به او کمک کنید، کمینه خروجی ممکن این تابع را پیدا کند.
در واقع حنا میخواهد طوری ترتیب همسایههای رئوس را انتخاب کند که تعداد نابهجاییهای آرایه b
کمینه بشود.
منظور از نابهجایی تعداد جفتهای است که باشد.
در سطر اول ورودی عدد آمدهاست.
در سطر دوم، اعداد به ترتیب آمدهاند.
در سطر سوم، اعداد ، به ترتیب آمدهاند که پدر راس شماره درخت معلم است.
در سطر اول خروجی، کمینه خروجی تابع countInversions
را چاپ کنید.
ابتدا سعی کنید تابعی برای مقایسهی بین دو تا از بچههای هر راس پیدا کنید که بگوید بهتر است اول وارد کدام بچه شود، سپس ثابت کنید این تابع، تابعی مناسب برای مرتبسازی بچههای یک راس از درخت است.