از پارسکدرز بیشترین بهره را ببرید و رویای کاری خود را زندگی کنید.
یک سال پیش منتشر شده
تعداد بازدید: 303
کد پروژه: 369467
شرح پروژه
در یک خانه ی دانشجویی، NN دوست با هم زندگی می کنند. از آنجایی که در این خانه خبری از شام خوابگاه نیست،! هرشب باید یک نفر برای همه شام بپزد. فرض کنید که میخواهید برای NN شب آینده یک برنامه تنظیم کنید که هر فرد دقیقاً یک شب آشپزی کند تا عدالت رعایت شود.
از طرف دیگر، می دانیم که هر فرد در چه شب هایی وقت آشپزی کردن ندارد! (به دلیل خسته بودن، داشتن امتحان، تماشای فوتبال و ...). اگر NN دوست را با {f_1,f_2, \dots, f_N}f1,f2,…,fN نشان دهیم و شبها را با {d_1,d_2, \dots, d_N}d1,d2,…,dN نشان دهیم و فرض کنیم که فرد f_ifi در مجموعه شبهای S_i \in {d_1,d_2, \dots, d_N}Si∈d1,d2,…,dN وقت آشپزی کردن ندارد، الگوریتمی طراحی و پیاده سازی کنید که تعیین کند آیا امکان تنظیم یک برنامه ی عادلانه وجوددارد که در آن هر فرد دقیقاً یک شب آشپزی کند و هیچ شبی هم بدون آشپز نباشد؟
فرض کنید که اگر مساله جواب داشته باشد، دارای یک جواب یکتا است.
راهنمایی: باید از bipartite graph استفاده کنید.
ورودیدر خط اول آن تعداد افراد NN ذکر شده است.
در NN خط بعدی به ترتیب در هر خط شماره ی شبهایی که فرد iiام نمی تواند آشپزی کند با یک فاصله از هم جدا شده اند. اگر فردی در همه شبها امکان آشپزی داشته باشد، در سطر مربوط به این فرد عدد صفر وارد شده است.
خروجیدر خط اول آن کلمه ی YES یا NO بسته به اینکه برنامه ی عادلانه وجوددارد یا نه چاپ می شود.
در صورت وجود برنامه ی عادلانه، در NN خط بعدی به ترتیب شمار ه ی شبی که فرد iiام باید غذا بپزد، آمده است.
مثال ورودی نمونه ۱5
3 4 5
2 3 4 5
3
5 2
3 5 1
Plain text
Copy
مثلا سطر دوم بیانگر این است که فرد اول در شبهای 3 و 4 و 5 نمیتواند آشپزی کند، اما در شبهای 1 و 2 امکان آشپزی دارد.
خروجی نمونه ۱YES
2
1
5
3
4
Plain text
Copy
در این مثلا فرد 1 تا 5 به ترتیب در شبهای 2، 1، 5، 3 و 4 (از راست به چپ) آشپزی خواهند کرد.
ورودی نمونه ۲4
0
1 2 3
1 2
1 2
Plain text
Copy
خروجی نمونه ۲
NO
Plain text
Copy
ارسال پاسخ برای این سؤال
مهارت ها و تخصص های مورد نیاز
بودجه
5,000 تومان تا 100,000 تومان
مهلت برای انجام
2روز
وضعیت مناقصه
انجام شده
درباره کارفرما
عضویت یک سال پیش
قادر به انجام این پروژه هستید؟
مهلت ارسال پیشنهاد قیمت برای این پروژه تمام شده است
به رایگان یک حساب کاربری بسازید
مهارتها و تخصصهای خود را ثبت کنید، رزومه و نمونهکارهای خود را نشان دهید و سوابق کاری خود را شرح دهید.
به شیوهای که دوست دارید کار کنید
برای پروژههای دلخواه در زمان دلخواه پیشنهاد قیمت خود را ثبت کنید و به فرصتهای شغلی منحصر به فرد دسترسی پیدا کنید.
با اطمینان دستمزد دریافت کنید
از زمان شروع کار تا انتهای کار به امنیت مالی شما کمک خواهیم کرد. وجه پروژه را از ابتدای کار به امانت در سایت نگه خواهیم داشت تا تضمین شودکه بعد از تحویل کار دستمزد شما پرداخت خواهد شد.
میخواهید شروع به کار کنید؟
یک حساب کاربری بسازید
بهترین مشاغل فریلنسری را پیدا کنید
رشد شغلی شما به راحتی ایجاد یک حساب کاربری رایگان و یافتن کار (پروژه) متناسب با مهارتهای شما
است.
پیدا کردن کار (پروژه)
تماشای دمو روش کار