পটভূমি
এটি লেখার সময়, পি বনাম এনপি সমস্যাটি এখনও সমাধান হয়নি, তবে আপনি নরবার্ট ব্লামের নতুন কাগজ শুনেছেন শুনেছেন যে পি! = এনপি, যা ইতিমধ্যে ভুল বলে সন্দেহ করেছে (তবে আমরা দেখতে পাব)।
এই কাগজে আলোচিত সমস্যাটি হচ্ছে চক্রের সমস্যা । কমপক্ষে আমি একটি সংবাদপত্রের নিবন্ধে যা পড়েছি, তাই আমি ভুল হলে আমাকে সংশোধন করুন, তবে যে কোনও ক্ষেত্রে, আমি চাই আপনি একটি প্রোগ্রাম লিখুন যা নীচের রূপটি সমাধান করে:
কাজটি
ধরুন আমাদের প্রচুর ছাত্র-ছাত্রী নিয়ে একটি বিশাল স্কুল রয়েছে। এই বিদ্যালয়ের প্রত্যেকেরই কিছু না কিছু বন্ধু রয়েছে। একটি চক্র শিক্ষার্থীদের শুধুমাত্র ছাত্র যারা বন্ধুদের সঙ্গে নিয়ে গঠিত একটি গ্রুপ একে অপরের সদস্য ।
আপনার প্রোগ্রামটি এমন কয়েকজন শিক্ষার্থী পাবেন যাঁরা এর ইনপুট হিসাবে বন্ধুবান্ধব। এই তথ্য থেকে, প্রোগ্রামটি অবশ্যই বৃহত্তম চক্রের আকার সন্ধান করতে হবে । শিক্ষার্থীরা পূর্ণসংখ্যার আইডি দ্বারা চিহ্নিত করা হয় ।
আপনি যদি গাণিতিক শর্তগুলি পছন্দ করেন তবে এর অর্থ আপনাকে দুটি পুনঃনির্দেশিত গ্রাফের কিনারা খাওয়ানো হচ্ছে, প্রতিটি দুটি নোড দ্বারা চিহ্নিত করা হয়েছে।
ইনপুট
আপনার ইনপুটটি ইতিবাচক পূর্ণসংখ্যার জোড়ার একটি খালি খালি তালিকা হবে [[1,2],[2,5],[1,5]]
। আপনি এই ইনপুটটি যে কোনও সংবেদনশীল আকারে নিতে পারেন, যেমন অ্যারের অ্যারে হিসাবে, প্রতিটি সংখ্যার দুটি সংখ্যাযুক্ত পাঠ্য রেখার মতো ...
আউটপুট
প্রত্যাশিত আউটপুটটি একটি একক সংখ্যা n >= 2
: বৃহত্তম চক্রের আকার। উপরোক্ত উদাহরণে ইনপুট দিয়ে, ফলে হবে 3
, যেমন সব ছাত্র ( 1
, 2
এবং 5
) বন্ধুদের একে অপরের সাথে হয়।
পরীক্ষার মামলা
[[1,2]]
=> 2
[[1,2],[3,1],[3,4]]
=> 2
[[1,2],[2,5],[1,5]]
=> 3
[[2,5],[2,3],[4,17],[1,3],[7,13],[5,3],[4,3],[4,1],[1,5],[5,4]]
=> 4 (the largest clique is [1,3,4,5])
[[15,1073],[23,764],[23,1073],[12,47],[47,15],[1073,764]]
=> 3 (the largest clique is [23,764,1073])
[[1296,316],[1650,316],[1296,1650],[1296,52],[1650,711],[711,316],[1650,52],
[52,711],[1296,711],[52,316],[52,1565],[1565,1296],[1565,316],[1650,1565],
[1296,138],[1565,138],[1565,711],[138,1650],[711,138],[138,144],[144,1860],
[1296,1860],[1860,52],[711,1639]]
=> 6 (the largest clique is [52,316,711,1296,1565,1650])
অন্যান্য পরীক্ষার মামলার ফলাফল যাচাইয়ের জন্য আপনি এটি (বোকা) রেফারেন্স বাস্তবায়ন ( -d
পতাকা সহ অতিরিক্ত আউটপুট প্রিন্ট করে ) ব্যবহার করতে পারেন ।
নিয়ম
- আপনার প্রোগ্রামটির অবৈধ ইনপুটটিতে কোনও সংজ্ঞায়িত ফলাফলের দরকার নেই। সুতরাং আপনি ধরে নিতে পারেন:
- আপনি সর্বদা কমপক্ষে একটি জোড়া আইডি পাবেন
- প্রতিটি জুটি দুটি পৃথক আইডি নিয়ে গঠিত
- কোনও জুড়ি দু'বার উপস্থিত হয় না (আইডিগুলির জায়গাগুলি অদলবদল করা এখনও একই জোড় হবে)
- আপনার অ্যালগরিদম ইনপুট আকারের উপরের বাউন্ড সেট করার অনুমতি নেই। আপনার ভাষা / পরিবেশের দ্বারা নির্ধারিত খাঁটি প্রযুক্তিগত সীমাবদ্ধতা এবং সীমাবদ্ধতাগুলি (স্ট্যাকের আকার, গণনার সময় ইত্যাদি) অবশ্যই অনিবার্য।
- স্ট্যান্ডার্ড লুফোলগুলি নিষিদ্ধ।
- এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম কোড, বাইটে পরিমাপ করা হয়, জিততে পারে।
- যদি আপনার অ্যালগরিদমের বহুপদী সময় জটিলতা থাকে তবে আপনি
-1
আপনার কোডের আকার নির্বিশেষে তত্ক্ষণাত্ স্কোর করেন তবে সেই ক্ষেত্রে আপনি নিজের সমাধান অন্য কোথাও জমা দিতে চাইতে পারেন। ;)
-1
তা ভালভাবে প্রাপ্য ;)