پاسخ : آرشیو سوالات از گذشته تا کنون
کشور مورد نظر را یک گراف در نظر گرفته هر شهر یک راس و جاده های بین هر دو شهر یالی بین آن دو راس هستند ....
میدانیم از هر شهر مسیری به پایتخت وجود دارد --> گراف همبند است.
از دو شرط الف و ب نتیجه می شود که هر نقشه یک درخت بوده و شهر های تنها برگ های آن درخت هستند ...
چون گراف همبند است در نتیجه حتما نقشه ی قابل ساختی وجود دارد (بین تمام زیر درخت ها مینیمم هزینه) ...
یکی از این نقشه های قابل ساخت را در نظر می گیریم و آن را از پایتخت روت می کنیم ...
سپس می خواهیم با اجرای الگوریتم زیر این نقشه ی قابل ساخت را به نقشه ای قابل ساخت با شرایط گفته شده تبدیل کنیم ...
لم 1 : در هر درخت بین 2 راس یک و تنها یک مسیر وجود دارد ...
اثبات : در غیر این صورت دور ایجاد می شود و درخت دارای دور نیست ...
الگوریتم : 2 تا از برگ هایی را که به هم متصل هستند را در نظر گرفته آن ها را A و B می نامیم ... (ارتفاع A => ارتفاع B)
اولین پدر مشترک دو راس A و B را C نام می نهیم ...
یال بین A و B را اضافه می کنیم ...
طبق لم 1: مسیر بین B و C را در نظر میگیریم ...
یالی که این مسیر را به راس C متصل می کند را پاک می کنیم و ادامه می رهیم ...
حال باید 2 چیز را ثابت کنیم ....
1- با انجام الگوریتم فوق هزینه ثابت می ماند ...
هزینه ی قبل از انجام الگوریتم = ارتفاع A + ارتفاع B
هزینه ی بعد از انجام الگوریتم = ارتفاع A + اندازه ی مسیر B تا C
کاملا آشکار است که اندازه ی مسیر B تا C بیشتر از ارتفاع آن نیست ...
در ضمن ... اگر راس C راسی به جز پایتخت باشد هزینه ی ساخت کم تر می شود و این خلاف فرض است ...
2- باید ثابت کنیم الگوریتم فوق پایان پذیر است ...
به هر راس به روش زیر یک عدد نسبت می دهیم ... عدد یک راس با ارتفاع i برابر 2 به توان i می باشد ...
عدد افسردگی یک راس برابر مجموع اعداد نسبت داده شده بر روی راس های تنهای آن است ...
چون 3 به توان i از مجموع توان های کوچکتر 3 بزرگتر است در نتیجه با انجام الگوریتم فوق عدد افسردگی نقشه ی مذکور افزایش می یابد ...
این عدد حداکثر می تواند 3 به توان تعداد راس ها باشد ...
در نتیجه الگوریتم فوق پایان پذیر است ...
د.پ : ببخشید اگه زود جواب رو گفتم ... دلایل شخصی دارم واسش