المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۱۶:الگوریتم ها:سوال ۱۱

دوگانگی مسیرها به روستای شیرافکن

پس از گذار از تونل مردافکن، دانش‌پژوهان با مشقّت فراوان به روستای ‎«پلنگ‌افکن»‎ رسیدند.با پرس‌وجوی فراوان، آقای ‎«کاف»‎ دریافت که برای خلاص شدن از جنگل، آن‌ها باید همگی به روستای ‎«شیرافکن»‎ رفته و از آن‌جا با هواپیما به باشگاه دانش‌پژوهان جوان برگردند.

در همین حین، یکی از دانش‌پژوهان المپیاد کامپیوتر که با تلاش زیاد نقشه‌ی تمامی روستاهای آن سرزمین و جاده‌های بین‌شان را پیدا کرده بود، فهمید که کلاً آن سرزمین ‎$m$‎ روستا دارد که با ‎$e$‎ تا جادّه به هم وصل هستند و هر کدام از جادّه‌های بین روستاها یا ‎«روباه‌افکن»‎ هستند یا ‎«خرس‌افکن». عبور از هر یک از جادّه‌های ‎«روباه‌افکن»‎ به‌دلیل وجود روباه‌های چابک در آن، بایستی به سرعت انجام شود و دقیقاً یک روز طول می‌کشد. امّا عبور از جادّه‌های ‎«خرس‌افکن»‎ به‌دلیل وجود خرس‌های خوابیده در آن، بایستی به‌آرامی انجام شود و دقیقاً ‎$m-1$‎ روز طول می‌کشد. نیز، می‌دانیم حداقل یک مسیر از روستای ‎«پلنگ افکن‎«‎ به ‎«شیرافکن»‎ وجود دارد.

با فرض دانستن نقشه‌ی دقیق روستاها، جادّه‌ها و نوع آن‌ها، الگوریتمی از زمان اجرای ‎$O(e)$‎ ارائه دهید که دانش‌پژوهان بتوانند در کم‌ترین تعداد روز از روستای ‎«پلنگ‌افکن»‎ به روستای ‎«شیرافکن»‎ بروند. الگوریتم خود را تحلیل و اثبات کنید‎.


ابزار صفحه