سلام دوست عزیز😃👋
به مسابقه «کدکاپ ۸ - دستگرمی» خوش آمدی!
لینکهای مفید برای شرکت در مسابقه:
این مسابقه هیچ تاثیری در رقابتهای کدکاپ ندارد و صرفاً برای دستگرمی شما است.
موفق باشید و بهتون خوش بگذره 😉✌
یک گراف ساده به نام با راس و یال داریم. راسهای این گراف با اعداد تا شمارهگذاری شدهاند. در هر عملیات میتوانیم یکی از دو عدد صحیح و مثبت مثل و را انتخاب کنیم به طوری که و یکی از دو عملیات زیر را انجام دهیم اگر یال در موجود است، آن را حذف کنیم. اگر یال در موجود نیست، آن را به اضافه کنیم.
میخواهیم با این عملیاتها را به یک درخت، تبدیل کنیم. به شما گراف داده میشود و از شما میخواهیم کمترین تعداد عملیات لازم برای تبدیل به یک درخت را محاسبه کنید.
در سطر اول ورودی، دو عدد صحیح و که با یک فاصله از هم جدا شدهاند، داده میشود.
در سطر بعدی، در هر سطر، دو عدد صحیح و که با یک فاصله از هم جدا شدهاند داده میشود. یک یال از است.
کمترین تعداد عملیات لازم برای تبدیل به یک درخت.
گراف درخت است اگر و تنها اگر همبند باشد و هیچ دوری نداشته باشد.
اگر دارای مولفهی همبندی باشد، به حداقل یال نیاز داریم که آن را همبند کنیم.
اگر یک مولفهی همبندی دارای راس و یال باشد، باید یک زیردرخت فراگیر آن که شامل یال است را نگهداریم و یال دیگر را از آن مولفههمبندی حذف کنیم. (با وجود این یالها دور گراف بهوجود میآید.)
اگر مجموع یالهای مورد نیاز برای حذف را محاسبه کنید، میبیند که فقط به مقدار نیاز دارید و میتوانید آن را با استفاده از الگوریتمهای مثل dfs، bfs یا dsu بدست آورید.