পটভূমি
পুনর্বিন্যাস বৈষম্য একটি বৈষম্য যে সংখ্যার সাজানোর উপর ভিত্তি করে তৈরি করা হয়। যদি আমার একই দৈর্ঘ্যের সংখ্যার দুটি তালিকা থাকে, x 0 , x 1 , x 2 ... x n-1 এবং y 0 , y 1 , y 2 ... y n-1 একই দৈর্ঘ্যের, যেখানে আমি তালিকাটিতে নম্বরগুলি পুনর্বিন্যাসের অনুমতি দেওয়া হয়েছে, x 0 y 0 + x 1 y 1 + x 2 y 2 + ... + x n-1 y n-1 এর মধ্যে 2 টি তালিকা সাজানোর জন্য একটি উপায় ক্রমহ্রাসমান আদেশ
এখানে উইকিপিডিয়া নিবন্ধ পড়ুন ।
কার্য
আপনি একটি প্রোগ্রাম লিখবেন যা এসটিডিআইএন থেকে ইনপুট নেয় বা এমন একটি ফাংশন যা 2 টি অ্যারে (বা সম্পর্কিত পাত্রে) সংখ্যার গ্রহণ করে (যা একই দৈর্ঘ্যের হয়)।
ধরে নিই যে আপনি একটি ফাংশন লিখেছেন যা ২ টি অ্যারে (ক এবং খ) গ্রহণ করে আপনি সর্বাধিকতর করতে দ্বিতীয় অ্যারে (খ) এর মধ্যে যে সংখ্যাগুলি পুনর্বিন্যাস করতে পারেন তার সংখ্যা সন্ধান করতে যাচ্ছেন:
a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+...+a[n-1]*b[n-1]
এই ক্ষেত্রে, অ্যারে বি যদি [1 0 , 2 1 , 2 2 , 3 3 , 3 4 ] (স্পষ্টতার জন্য সূচকগুলি) হয়,
[১ 0 , 2 1 , 2 2 , 3 3 , 3 4 ],
[১ 0 , 2 1 , 2 2 , 3 4 , 3 3 ], (দুটি 3 এর অদলবদল করুন)
[1 0 , 2 2 , 2 1 , 3 3 , 3 4 ] (দুটি 2 এর অদলবদল করুন)
[১ 0 , 2 2 , 2 1 , 3 4 , 3 3 ] (দুটি 3 এর অদলবদল করুন এবং দুটি 2 এর পরিবর্তন করুন)
বিভিন্ন ব্যবস্থা বিবেচনা করা হয়। আসল অ্যারেটি নিজেই, সম্ভাব্য পুনর্বিন্যাস হিসাবেও গণনা করে যদি এটিও যোগফলকে সর্বাধিক করে তোলে।
এসটিডিআইএন ইনপুটটির জন্য, আপনি ধরে নিতে পারেন যে অ্যারেরগুলির আগে অ্যারের দৈর্ঘ্য সরবরাহ করা হয়েছে (দয়া করে এটি ব্যবহার করুন যাতে তা উল্লেখ করুন), বা অ্যারে বিভিন্ন লাইনে সরবরাহ করা হয়েছে (এছাড়াও দয়া করে বিবরণ দিন)।
এখানে 4 সম্ভাব্য ইনপুট (সুবিধার্থে):
5 1 1 2 2 2 1 2 2 3 3 (length before arrays)
1 1 2 2 2 1 2 2 3 3 (the 2 arrays, concatenated)
1 1 2 2 2
1 2 2 3 3 (the 2 arrays on different lines)
5
1 1 2 2 2
1 2 2 3 3 (length before arrays and the 2 arrays on different lines)
আউটপুট জন্য, আপনি উত্তর ফেরত (যদি আপনি একটি ফাংশন লিখুন) বা STDOUT উত্তর মুদ্রণ করার অনুমতি দেওয়া হয়। আপনি উত্তর 9% 9 +7 (0 থেকে 10 অবধি) আউটপুট চয়ন করতে পারেন যদি আপনি আরও সুবিধাজনক হয় তবে 9 +6 পর্যন্ত) পারেন।
পরীক্ষার কেস (এবং ব্যাখ্যা):
[1 1 2 2 2] [1 2 2 3 3] => 24
প্রথম 2 এন্ট্রি 1 এবং 2 হতে হবে সর্বশেষ 3 এন্ট্রি 2, 3 এবং 3 হয়। প্রথম 2 এন্ট্রি এবং শেষ 2 এন্ট্রিগুলির মধ্যে 2 এর 2 ব্যবস্থা করার 2 উপায় রয়েছে। প্রথম 2 টি এন্ট্রিগুলির মধ্যে তাদের পুনরায় সাজানোর জন্য 2 টি উপায় রয়েছে। শেষ 2 টি এন্ট্রিগুলির মধ্যে তাদের পুনরায় সাজানোর 6 টি উপায় রয়েছে।
[1 2 3 4 5] [6 7 8 9 10] => 1
কেবলমাত্র 1 টি উপায় রয়েছে যা অ্যারেতে দেওয়া ব্যবস্থা।
[1 1 ... 1 1] [1 1 ... 1 1] (10000 numbers) => 10000! or 531950728
দ্বিতীয় অ্যারের প্রতিটি সম্ভাব্য ক্রমপত্র বৈধ।
ডেনিসের টেস্টকেস: Pastebin => 583159312 (গেলিক ভাষার 1000000007)
স্কোরিং:
এটি কোড-গল্ফ, তাই সংক্ষিপ্ত উত্তর জেতে।
টাই করার ক্ষেত্রে, পূর্ববর্তী জমা দেওয়ার পক্ষে, জমা দেওয়ার সময় বন্ধনগুলি ভেঙে দেওয়া হবে।
নোট নাও:
ধারকগুলি অরসোর্টড হতে পারে।
পাত্রে পূর্ণসংখ্যা শূন্য বা নেতিবাচক হতে পারে।
পরিমিত আকারের অ্যারেগুলির জন্য (প্রায় 10000 দৈর্ঘ্যের) দ্রুতগতিতে প্রোগ্রামটি চালাতে হবে (সর্বাধিক এক ঘন্টা)।
গণিত স্ট্যাক এক্সচেঞ্জের এই প্রশ্নের দ্বারা অনুপ্রাণিত ।
[. . .]
plz প্রতিক্রিয়া হিসাবে ইনপুট গ্রহণ করেন