IKIU-CE, The computer-engineering students web log - Qazvin, وب‌نوشت دانشجویان گروه مهندسی کامپیوتر - قزوین
یادداشت‌ها: فارسی ، Posts: English

۱۳۸۸ تیر ۲۲, دوشنبه

پاسخ سوال 3271

سلام،
در این پست به ارایه راه حل مسئله ۳۲۷۱ از سوی تیم iQueue می‌پردازم.

متاسفانه علی رغم تلاش‌های انجام شده ظاهرا اکثر دانشجویان تمایلی به حل مسایل مسابقات ندارند. در سوال اخیر کدهای 16 نفر از 20 نفر (دو نفر نیز کد را ارسال نکرده‌اند) به طور روشنی کپی‌برداری بود.

ایده خوبی بود، و بعضی از دوستان نیز مطرح کردند، که پاسخ مشروح هر سوال مطرح شده را تیمی به صورت داوطلبانه ارایه کند. انشا الله در سوال‌ها و ترم‌های آتی این عمل محقق شود تا در صورتی که تیمی نتوانست سوالی را حل کند بتواند با ایده‌های حل مسئله آشنا شود و خود را در این زمینه تقویت کند. به هر حال تیم‌های علاقمند به تشریح راه حل خود برای دیگران در مسایل آتی، می‌توانند راه حل مشروح خود را در فرمت PDF برای وبلاگ ارسال کنند.


ضمیمه: با تشکر از آقای ساعی، شرح راه حل ایشان را از اینجا دریافت نمایید.

7 نظر:

علی گفت...

سلام،
حامد جان، روش جالبیه! ولی یک موردی هست و اون اینکه اگه با حذف شهر مقصد، گراف ناهمبند بشه و نصفی داورا یه طرف باشند و نصفی اون طرف، همه مقادیر بینهایت میشن. در این حالت چجوری تصمیم گرفته میشه؟
مثلا در همون مورد آزمون اول سوال، وقتی یال ۴ به ۲ رو حذف کنیم، این اتفاق میفته.

مرسی.

حامد گفت...

سلام
در آزمون اول سوال یال 4 به 2 اصلا حذف نمیشه.تنها یالهایی که حذف میشن 2 به 3 و 3 به 4 هستن.(تنها یالهایی که به مقصد میرسند.)

علی گفت...

سلام،
میدونم مننظورم اینه که در یک مورد آزمون نوعی اگر مقصد رو حذف کنیم و گراف ناهمبند بشه همه مقادیر بینهات میشن، در این حالت چه می کنیم؟
مثلا:
5
3 4
1 2 1
2 3 2
3 4 3
4 5 1
2
5
1

حامد گفت...

ظاهرا این راه حل برای این آزمون یا آزومون هایی شبیه به این(که با حذف مقصد,گراف ناهمبند میشود)جواب نمیدهد, اما میتوان راه حل را به گونه ای تغییر داد که در صورتی که با حذف مقصد,گراف به چند بخش قسمت شد,هر بخش را بصورت جداگانه محاسبه کنیم(مقصد در همه ی بخشها باید در نظر گرفته شود) و نتایج آنها را با هم جمع کنیم!

علی گفت...

خوب این شهر مقصد در اجزا بوجود اومده چجوری تعیین میشه؟ اگر هم بتوان تعیین کرد ممکن است با حذف مقصدهای بوجود اومده گراف ناهمبندتر بشه.
راه حلی در این مورد به نظرم نمیرسه!

حامد گفت...

شهرمقصد هر بخش همان مقصد اصلی است(در واقع مقصد اصلی را در تمام قسمت ها جزءای از آن قسمت در نظر میگیریم)مثلا:
7(NC)
4 8(NR,DC)
1 2 1(d,c2,c1)
2 3 1
1 3 1
3 4 1
4 5 1
5 6 1
5 7 1
6 7 1
2
1
6
با حذف مقصد(شهر 4)گراف به 2بخش تقسیم میشود:یکبار باید مساله را برای گرافی که شامل راسهای 1و2و3و4 است حل کنیم(برای داورانی که در شهر های 1و2و3هستند به مقصد 4) و یکبار برای گرافی که شامل راسهای 4و5و6و7 است(برای داورانی که در سه شهر 5و6و7هستند به مقصد 4)و حاصل را با هم جمع میکنیم.
در هر یک از این 2 بخش با حذف
مقصد(4) امکان آنکه دوباره ناهمبسته تر شود وجود ندارد چون اگر وجود داشت درهمان مرحله ی اول تقسیم میشد.

علی گفت...

به نظر میرسه اینجوری این مشکلش حل میشه ولی یه مشکل بزرگتر اینکه برای مورد آزمون زیر:
7
7 7
1 5 1
2 5 1
3 6 1
4 6 1
5 6 100
6 7 1
5 7 1
4
1
2
3
4
الگوریتم شما جواب 105 رو اعلام میکنه در حالی که پاسخ صحیح 6 است!