DSA_CA3.pdf

‫بسمه تعالی‬
‫ساختمان دادهها و الگوریتم‬
‫نیمسال دوم ‪39-39‬‬
‫دکتر بیگی‬
‫پروژه سوم‬
‫در صورت وجود ابهام یا سوال در مورد هر کدام از سوالها از طریق ‪ [email protected]‬مطرح‬
‫نمایید‪.‬‬
‫‪ .1‬مثلثها‬
‫مثلثی از اعداد وجود دارد مانند شکل ‪ 1‬برنامهای بنویسید که بزرگترین مجموع مسیر از ریشه تا برگ را‬
‫محاسبه نماید‪ .‬ریشه باالترین عدد و برگها در پایینترین قسمت قرار دارند و تنها مسیرهایی مد نظر است‬
‫که از ریشه شروع شود‪ ،‬از تمام سطوح گذشته و در برگ خاتمه یابد‪.‬‬
‫‪7‬‬
‫‪8‬‬
‫‪0‬‬
‫‪4‬‬
‫‪5‬‬
‫‪3‬‬
‫‪1‬‬
‫‪4‬‬
‫‪6‬‬
‫‪8‬‬
‫‪7‬‬
‫‪2‬‬
‫‪2‬‬
‫‪5‬‬
‫‪4‬‬
‫شکل ‪1‬‬
‫ورودی‪:‬‬
‫در سطر اول تعداد نمونه ‪ t‬مشخص شده است‪ .‬در هر ‪ t <100‬قسمت بعد در سطر ابتدایی عدد‪ n <100‬تعداد‬
‫سطوح مثلث آورده شده است‪ .‬در ‪ n‬خط دنبالهی آن در خط ‪i‬ام که بین ‪ 1‬تا ‪ n‬است ‪ i‬عدد بین ‪ 0‬تا ‪33‬‬
‫دریافت میشود‪.‬‬
‫خروجی‪:‬‬
‫برنامه شما باید به ازای هر نمونه یک عدد شامل بزرگترین مجموع مسیر از ریشه تا برگ را محاسبه نمایید‪.‬‬
‫ورودی و خروجی نمونه‪:‬‬
‫ورودی‬
‫خروجی‬
‫‪30‬‬
‫‪8‬‬
‫‪1 0‬‬
‫‪7 4 4‬‬
‫‪5 2 6 5‬‬
‫‪1‬‬
‫‪5‬‬
‫‪7‬‬
‫‪3‬‬
‫‪8‬‬
‫‪2‬‬
‫‪4‬‬
‫‪ .2‬دانشآموز تنبل‬
‫دانشآموزی روزانه باید مجموعهای از وسیلهها را با خود به مدرسه ببرد‪ .‬این دانشآموز چند کولهپشتی دارد‬
‫که هر کدام وزن مشخصی از اشیا را در خود نگه میدارند‪ .‬حمل هر شی به مدرسه برای دانشآموز ارزشی به‬
‫همراه دارد ولی این دانشآموز میخواهد با خود کمترین میزان ممکن بار را حمل نماید‪ .‬با توجه به آنکه هر‬
‫کدام از کولهپشتیها نیز وزنی دارند‪ .‬این دانشآموز وزن اشیا و کولهپشتی را از ارزش کل اشیایی که در‬
‫کولهپشتیهایش قرار میگیرد کم مینماید و کولهپشتی که بیشترین مقدار را دارد را انتخاب مینماید در‬
‫صورت برابر بودن دو مقدار کولهپشتی که ارزش مطلق بیشتری دارد را انتخاب مینماید‪ .‬به این دانشآموز‬
‫برای آماده شدن برای رفتن به مدرسه کمک نمایید‪ .‬دانش آموز میخواهد وسایلی را حمل نماید که مجموع‬
‫ارزش آنها منهای وزنشان و وزن کولهپشتی بیشترین مقدار باشد‪.‬‬
‫ورودی‪:‬‬
‫در سطر اول تعداد روزهای ‪ t‬مشخص شده است‪ .‬در هر ‪ t‬قسمت بعد در سطر ابتدایی عدد ‪ n‬تعداد‬
‫کولهپشتیهای دانشآموز آورده شده است‪ .‬در ‪ n‬خط دنبالهی آن به ترتیب اعداد ‪ ci‬و ‪ wi‬آورده شده است که‬
‫بیانگر ظرفیت و وزن کولهپشتی ‪ i‬است‪ .‬در خط بعد ‪ k‬تعداد اشیا مورد در آن روز را مشخص میگرداند‪ .‬در ‪k‬‬
‫سطر بعد ‪ vj‬و ‪ wi‬آورده شده است که ارزش و وزن شی ‪ j‬را مشخص مینماید‪.‬‬
‫‪T < 100‬‬
‫‪N < 50‬‬
‫‪10 < K < 20‬‬
‫‪Wi < 100‬‬
‫‪Ci < 500‬‬
‫خروجی‪:‬‬
‫چاپ شماره روز و در خط بعدی بیان ارزش و وزن حمل شده در آن روز و در خط بعد اشیا انتخاب شده به‬
‫همراه فاصله چاپ شود‪( .‬شماره اشیا از یک شروع شده و به ترتیب ورود آنها میباشد‪ ).‬در خروجی شماره‬
‫اشیاء را به ترتیب چاپ نمایید و در صورتی که دو روش میتوان یک وزن و ارزش را به دست آورد‪ ،‬مقداری‬
‫را که شامل اشیا با شماره کوچکتر است را چاپ نمایید‪.‬‬
‫ورودی و خروجی نمونه‬
‫ورودی‬
‫خروجی‬
‫‪1‬‬
‫‪10 8‬‬
‫‪1234‬‬
‫‪1‬‬
‫‪2‬‬
‫‪51‬‬
‫‪62‬‬
‫‪4‬‬
‫‪11‬‬
‫‪21‬‬
‫‪32‬‬
‫‪42‬‬
‫‪ .9‬کرم ریاضیدان‬
‫کرمی برای یافتن غذا برروی صفحهی شطرنجی در حال جستجو است‪ .‬این کرم به نزدیکترین منبع غذا که‬
‫میبیند حرکت مینماید و حرکت کرم تنها موازی محورهای مختصات است‪ .‬وظیفهی شما کمک به این کرم‬
‫برای یافتن غذاها میباشد‪ .‬در صورتی که فاصله دو منبع یکسان باشد‪ ،‬منبعی که مقدار ‪ x‬و سپس ‪ y‬کمتری‬
‫دارد انتخاب میشود‪.‬‬
‫ورودی‪:‬‬
‫در سطر اول تعداد نمونههای ‪ t‬مشخص شده است‪ .‬در هر ‪ t‬قسمت بعد در سطر ابتدایی دو عدد ‪ n‬و ‪ m‬ابعاد‬
‫صفحه را مشخص مینماید‪ ،‬سطر بعد ‪ x‬و ‪ y‬مکان کرم را بیان مینماید‪ ،‬سطر بعد ‪ k‬تعداد منابع در صفحه را‬
‫بیان مینماید در ‪ k‬سطر بعد ‪ xi‬و ‪ yi‬مختصات منابع را مشخص مینماید‪.‬‬
‫‪t < 100‬‬
‫‪n,m < 100‬‬
‫خروجی‪:‬‬
‫چاپ شماره نمونه و تعداد قدمهایی که کرم باید برای خوردن تمام منابع بپیماید‪.‬‬
‫ورودی و خروجی نمونه‬
‫ورودی‬
‫خروجی‬
‫‪Case #1: 7‬‬
‫‪Case #2: 4‬‬
‫‪Case #3: 8‬‬
‫‪3‬‬
‫‪45‬‬
‫‪11‬‬
‫‪1‬‬
‫‪45‬‬
‫‪23‬‬
‫‪12‬‬
‫‪2‬‬
‫‪21‬‬
‫‪23‬‬
‫‪55‬‬
‫‪12‬‬
‫‪2‬‬
‫‪21‬‬
‫‪45‬‬