سلام دوست عزیز😃👋
به آزمون ورودی کارآموزی تابستانه Software Engineering کداستار خوش آمدید!
مسابقه به مدت ۵ ساعت ادامه خواهد داشت و در مجموع شامل ۵ سوال است.
سوالات به گونهای تنظیم شدهاند که با توجه به دانشی که دارید بتوانید بخشی از نمرهی سوال را بگیرید. به عنوان مثال اگر نتوانید سوال دوم را به طور کامل حل کنید، این امکان وجود دارد که بتوانید بخشی از آن را حل کنید؛ بنابراین حتما به تمام سوالات مراجعه کنید.
لینکهای مفید برای شرکت در مسابقه:
موفق باشید 😉✌
درختی با راس داریم که هر راس آن ممکن است قرمز یا مشکی باشد (حداقل یک راس به رنگ قرمز موجود است). همینطور روی هر راس عددی نوشته شده است که میتواند مثبت، منفی یا صفر باشد.
زیردرختی از این درخت را در نظر بگیرید که شامل تمامی راسهای قرمز بشود و مجموع اعداد راسهایش بیشینه باشد. از شما خواسته شده است که مجموع اعداد راسهای این زیردرخت را چاپ کنید. منظور از زیردرخت مجموعهای از راسها است، که بدون استفاده از دیگر راسها به همدیگر مسیر داشته باشند.
در خط اول ورودی عدد آمده است که نمایانگر تعداد راسهای درخت است.
در خط دوم رشتهای به طول آمده که هر کدام از حرفهایش میتواند R
یا B
باشد. حرف -ام این رشته نشاندهندهی رنگ راس -ام است (R
به معنای قرمز و B
به معنای مشکی)
در خط بعدی عدد آمده است که عدد -ام نمایانگر عدد راس است و آن را با نمایش میدهیم.
در نهایت در خط آخر، در هر خط دو عدد و آمده است که نشاندهندهی وجود یال میان رئوس و است.
در تنها خط خروجی باید پاسخ خواسته شده را چاپ کنید.
درخت این نمونه در شکل زیر نمایش داده شده است. بهترین حالت این است که زیردرختمان شامل راسهای ۱ و ۲ باشد که مجموع آنها ۸ است.
این درخت نیز در تصویر زیر پیداست، بهترین حالت این است که زیردرخت ما شامل رئوس ۳، ۴ و ۵ باشد. توجه کنید ممکن نیست راس ۲ به این رئوس اضافه شود، زیرا در آن صورت شرط زیردرخت بودن نقض میشود.