• هجدهمین مسابقه‌ی برنامه نویسی اینترنتی ایران
  • مقدماتی منطقه‌ی غرب آسیا، سایت تهران
  • دانشگاه صنعتی شریف، ۲۵ اسفند ۱۴۰۱

لینک‌های مفید برای شرکت در مسابقه:

هاکونا ماتاتا


  • محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

در جزیره‌ی فلوکی kk قبیله‌ی مختلف قرار دارند که در kk محل مختلف زندگی می‌کنند. نقشه‌ی جزیره‌ی فلوکی به شکل یک گراف همبند است که دارای nn محل (راس) و n1n-1 جاده (یال) است.

به دلیل اختلافات عقیده ای که در این مدت بین قبایل این جزیره رخ داده است، روند جنگ های داخلی آن‌ها شروع شده است؛ در هر روز هریک از قبایل به تمام محل های مجاور جاده ای خود نفوذ می‌کند و آن محل را به تصرف خود در می‌آورد. در صورتی که دو قبیله به یک محل مشترک برسند و یا یکی از قبایل به محلی برسد که از قبل توسط قبیله ای دیگر تصرف شده باشد، این دو قبیله با یک دیگر به مذاکره می‌پردازند و در نتیجه باهم متحد می‌شوند و از این پس مانند یک قبیله‌ی واحد عمل می‌کنند (ممکن است در یک لحظه حتی بیش از دو قبیله باهم متحد شوند!).

شما به عنوان جاسوس سازمان صلح جهانی وظیفه دارید به کمک گراف جزیره ی فلوکی که در ورودی به شما داده می‌شود، اولین روزی از جنگ که تمام این kk قبیله طی جنگ داخلی خود با یک دیگر متحد می‌شوند را پیدا کنید.

ورودی🔗

در خط اول ورودی عدد nn و kk که به ترتیب برابر تعداد محل‌ها و قبیله های جزیره هستند داده می‌شود.

1n1061 \leq n \leq 10^6

در هرکدام از n1n-1 خط بعدی دو عدد uiu_i و viv_i آمده است که نشان دهنده‌ی دو سر یال ii ام گراف جزیره است. سپس kk عدد مختلف در یک سطر داده می‌شود که عدد aia_i راس ابتدایی قبیله‌ی ii در گراف ورودی است. تضمین می‌شود گراف ورودی شرایط لازم را دارد و معتبر است.

1k,ain1 \leq k, a_i \leq n

خروجی🔗

در تنها خط خروجی کم‌ترین تعداد روزهایی که برای اتحاد و توافق تمام قبیله‌ها باید سپری شود را چاپ کنید.

مثال‌ها🔗

ورودی نمونه ۱🔗

5 3
1 2
1 3
1 4
1 5
2 3 4
Plain text

خروجی نمونه ۱🔗

1
Plain text

ورودی نمونه ۲🔗

4 2
1 2
2 3
3 4
1 4
Plain text

خروجی نمونه ۲🔗

2
Plain text

ورودی نمونه ۳🔗

8 3
1 2
2 3
3 4
4 5
5 6
3 7
7 8
2 6 8
Plain text

خروجی نمونه ۳🔗

2
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.