Prj2.pdf

‫داده ساختارها و مبانی الگوریتمها‬
‫نیم سال دوم ‪29-29‬‬
‫دانشکده مهندسی کامپیوتر‬
‫مدرس‪ :‬مسعود صدیقین‬
‫‪.‬‬
‫پروژه دوم‬
‫مهلت تحویل ‪:‬‬
‫مسئله ‪ .1‬اطالعات آماری‬
‫مدیر یک شرکت کامپیوتری تصمیم گرفته است تا وضعیت مالی شرکت و کارمندان خود را بررسی کند‪ .‬در شرکت تعدادی مدیر و‬
‫کارمند ساده وجود دارند‪ .‬ساختار شرکت به این صورت است که هر مدیر به صورت مستقیم دقیقا بر دو نفر دیگر نظارت دارد اما به‬
‫صورت غیرمستقیم به تمام زیردرخت خود نظارت میکند‪ .‬همچنین مدیرکل شرکت بر همه نظارت دارد و یک کارمند ساده بر‬
‫هیچکس نظارت ندارد‪.‬‬
‫فردی که بر فرد دیگری نظارت کند از اطالعات مالی او نیز با خبر است‪ .‬هرد فرد از اطالعات مالی خود نیز باخبر است‪ .‬مدیر شرکت‬
‫دستور داده است تا هرکس درآمد مالی تمامی افرادی که از آنها باخبر است را یادداشت و به ترتیب مرتب کند‪ .‬سپس میانه و مد داده‬
‫ها را به او گزارش دهند‪ .‬کارکنان شرکت از شما خواسته اند تا برنامهای بنویسید که به آنها کمک کند‪.‬‬
‫ورودی‪:‬‬
‫در خط اول ورودی تعداد کارمندان شرکت ‪ n‬داده میشود‪ .‬سپس در خط دوم ‪ n‬عدد با فاصله از هم میآیند که عدد ‪ Ci‬ام بیانگر‬
‫درآمد فرد ‪i‬ام شرکت است‪( .‬اعضای شرکت با شمارههای ‪ 1‬تا ‪ n‬شماره گذاری شده اند‪).‬‬
‫سپس در ‪ n-1‬خط بعدی در هر خط دو عدد ‪ x‬و ‪ y‬میآیند که نشان دهنده این است که ‪ x‬به صورت مستقیم بر ‪ y‬نظارت میکند‪.‬‬
‫( ‪ 1 ≤ 𝑥, 𝑦 ≤ 𝑛 ≤ 105‬و ‪) |𝐶𝑖| < 231‬‬
‫خروجی‪:‬‬
‫در خط ‪i‬ام خروجی شما باید به ترتیب میانه و مد مربوط به فرد ‪i‬ام شرکت را چاپ کنید‪.‬‬
‫نمونه ورودی‪:‬‬
‫‪7‬‬
‫‪1800 2000 2000 1000 2000 1500 1500‬‬
‫‪13‬‬
‫‪45‬‬
‫‪37‬‬
‫‪14‬‬
‫‪42‬‬
‫‪36‬‬
‫نمونه خروجی‪:‬‬
‫‪1800 2000‬‬
‫‪1‬‬
‫‪2000 2000‬‬
‫‪1500 1500‬‬
‫‪2000 2000‬‬
‫‪2000 2000‬‬
‫‪1500 1500‬‬
‫‪1500 1500‬‬
‫مسئله ‪ .2‬عرضهی محصول‬
‫یک گروه صنعتی تصمیم گرفته است محصول خود را به سراسر کشور عرضه کند‪ .‬این کشور ‪ n‬شهر دارد که بعضی از آنها با هم‬
‫مجاورند‪ .‬این گروه برای رسیدن به هدف ش تصمیم دارد‪ ،‬تعدادی واحد تولیدی و واحد حمل و نقل تاسیس کند‪ .‬هر واحد تولیدی در‬
‫یک شهر تاسیس میشود و در آن شهر محصول در دسترس مشتریان قرار میگیرد‪ .‬هزینهی احداث واحد تولیدی در هر کدام از‬
‫شهرها داده شده است‪ .‬هر واحد حمل و نقل هم مسئول ارتباط بین دقیقا دو شهر مجاور مثل ‪ i‬و‪ j‬است که در این صورت اگر‬
‫محصول حداقل در یکی از آنها در دسترس باشد‪ ،‬آن گاه با ایجاد این واحد محصول در هر دو شهر در دسترس قرار می گیرد‪.‬‬
‫هزینهی تاسیس واحد حمل و نقل بین شهرهای مجاور هم داده شده است‪ .‬این گروه میخواهد محاسبه کند که کمترین هزینهی‬
‫الزم برای عرضهی محصولشان در سراسر کشور چند است‪.‬‬
‫ورودی ‪:‬‬
‫در خط اول ورودی عدد ‪ n‬که تعداد شهر ها است‪ ،‬آمده است (‪ .)n<40000‬سپس در ‪ n‬خط بعدی در خط ‪i‬ام هزینهی احداث واحد‬
‫تولیدی در شهر ‪i‬ام آمده است‪ .‬در خط بعدی عدد ‪ m‬که تعداد جادههای موجود است‪ ،‬آمده است (‪ .) m<1000000‬سپس در ‪m‬‬
‫خط بعدی در هر خط ‪ 3‬عدد آمده است که اگر این اعداد به شکل ‪ i j k‬باشند یعنی شهرهای ‪ i‬و ‪ j‬مجاورند و هزینهی احداث یک‬
‫واحد حمل و نقل که مسئول ارتباط آنها باشد ‪ m‬است‪) .‬همهی هزینههای ورودی عددی طبیعی و حداکثر برابر با ‪10000‬‬
‫هستند‪).‬‬
‫خروجی‪:‬‬
‫در تنها خط خروجی یک عدد چاپ میشود که کمترین هزینهی ممکن به منظور عرضهی محصول در سراسر کشور است‪.‬‬
‫ورودی نمونه‪:‬‬
‫‪4‬‬
‫‪1‬‬
‫‪2‬‬
‫‪2‬‬
‫‪1‬‬
‫‪1‬‬
‫‪4‬‬
‫‪12‬‬
‫‪10‬‬
‫‪2‬‬
‫‪3‬‬
‫‪3‬‬
‫‪4‬‬
‫‪4‬‬
‫‪2‬‬
‫‪9‬‬
‫‪5‬‬
‫‪1‬‬
‫‪2‬‬
‫‪1‬‬
‫‪2‬‬
‫‪3‬‬
‫خروجی نمونه‪:‬‬
‫‪12‬‬
‫‪3‬‬