পটভূমি
মনে করুন যে 2*n
বিবাহিত হওয়ার মতো লোক রয়েছে এবং আরও ধরুন যে প্রতিটি ব্যক্তি n
সীমাবদ্ধতার আওতায় ঠিক অন্য লোকের প্রতি আকৃষ্ট হয়েছে যে:
- আকর্ষণ আকর্ষণীয় প্রতিসম ; অর্থ্যাৎ ব্যক্তি যদি ব্যক্তির
A
প্রতি আকৃষ্ট হয়B
তবে ব্যক্তি ব্যক্তিB
প্রতি আকৃষ্ট হয়A
। - আকর্ষণ আকর্ষণবিরোধী ; অর্থ্যাৎ ব্যক্তি
A
ও ব্যক্তিB
যদি প্রতিটি ব্যক্তির প্রতি আকৃষ্ট হয়C
তবে ব্যক্তিA
এবং ব্যক্তিB
একে অপরের প্রতি আকৃষ্ট হয় না।
এইভাবে আকর্ষণগুলির নেটওয়ার্কটি সম্পূর্ণ দ্বিপক্ষীয় গ্রাফটি (পুনর্নির্দেশিত) করে Kn,n
। আমরা এটাও ধরে নিয়েছি যে প্রতিটি ব্যক্তি তাদের প্রতি আকৃষ্ট লোকদেরকে স্থান দিয়েছে। এগুলি গ্রাফের প্রান্তের ওজন হিসাবে উপস্থাপিত হতে পারে।
একটি বিবাহ একটি যুগল হয় (A,B)
যেখানে A
এবং B
একে অপরের প্রতি আকৃষ্ট হয়। বিবাহ অস্থির হয় যদি সেখানে অন্য বিবাহ হয় যেখানে প্রতিটি বিবাহের একজন ব্যক্তি তাদের সঙ্গীকে তালাক দিতে এবং একে অপরকে বিবাহ করতে পারে এবং উভয়ই তাদের প্রাক্তন অংশীদার থেকে উচ্চতর স্থান প্রাপ্ত ব্যক্তির সাথে শেষ হয়।
লক্ষ্য
আপনার কাজটি হ'ল একটি সম্পূর্ণ প্রোগ্রাম বা ফাংশন লিখুন যা প্রতিটি ব্যক্তির পছন্দকে ইনপুট হিসাবে গ্রহণ করে এবং প্রতিটি ব্যক্তির জন্য এমন একটি বিবাহকে আউটপুট করে যা প্রতিটি বিবাহ স্থিতিশীল।
ইনপুট
ইনপুট কোনও সুবিধাজনক বিন্যাসে হতে পারে; উদাহরণস্বরূপ, ওজনযুক্ত গ্রাফ, অর্ডার করা পছন্দের তালিকা, অভিধান / সহযোগিতা ইত্যাদি etc. আপনি বিকল্প হিসাবে মোট লোকের সংখ্যা ইনপুট হিসাবে নিতে পারেন, তবে অন্য কোনও ইনপুট অনুমোদিত নয়।
আউটপুট
আউটপুট যে কোনও সুবিধাজনক বিন্যাসে হতে পারে; উদাহরণস্বরূপ tuples, ন্যূনতম প্রান্ত কভার , একটি ফাংশন যা প্রতিটি ব্যক্তিকে তাদের অংশীদারকে সংযুক্ত করে, ইত্যাদি উল্লেখ করুন যে একমাত্র সীমাবদ্ধতা হ'ল প্রতিটি বিবাহ স্থিতিশীল, অন্য কোনও অনুকূলতার প্রয়োজনীয়তা নেই।
মন্তব্য
- উইকিপিডিয়া বা এই নম্বরফিলি ভিডিওতে
O(n^2)
এই সমস্যাটি সমাধান করার জন্য আপনি আরও তথ্য এবং একটি অ্যালগরিদম খুঁজে পেতে পারেন । তবে আপনি যে কোনও অ্যালগরিদম ব্যবহার করতে পারবেন না। - স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- এটি কোড-গল্ফ । সংক্ষিপ্ত উত্তর (বাইটে) জিতেছে।