একটি রিফল শিফেল এক ধরণের শ্যাফেল যেখানে ডেকটি দুটি পার্টিশনে বিভক্ত হয় এবং পার্টিশনগুলি আবার একসাথে স্প্লাই করে নতুন শফলেড ডেক তৈরি করা হয়।
কার্ডগুলি একসাথে এমনভাবে বিভক্ত করা হয় যাতে পার্টিশনের মধ্যে কার্ডগুলি তাদের আপেক্ষিক ক্রম বজায় রাখে তারা এর সদস্য । উদাহরণস্বরূপ, যদি কার্ড এ ডেকে কার্ড বি এর আগে হয় এবং কার্ড এ এবং বি একই পার্টিশনে থাকে তবে কার্ড এ অবশ্যই চূড়ান্ত ফলাফলের কার্ড বি এর আগে হওয়া উচিত , এমনকি তাদের মধ্যে কার্ডের সংখ্যা বৃদ্ধি পেয়েছে কিনা। যদি এ এবং বি বিভিন্ন পার্টিশনে থাকে তবে তারা চূড়ান্ত ফলাফলের সাথে, কোনও প্রারম্ভিক অর্ডার নির্বিশেষে যে কোনও ক্রমে থাকতে পারে।
প্রতিটি রিফেল শ্যাফেলকে তখন কার্ডের মূল ডেকের অনুক্রম হিসাবে দেখা যেতে পারে। উদাহরণস্বরূপ আদেশ
1,2,3 -> 1,3,2
একটি রিফাল পরিবর্তন যদি আপনি ডেক বিভক্ত
1, 2 | 3
আমরা দেখতে পাচ্ছি যে প্রতিটি কার্ডের 1,3,2
বিভাজনে প্রতিটি অন্যান্য কার্ডের জন্য একই আপেক্ষিক ক্রম রয়েছে। 2
এখনও পরে 1
।
অন্যদিকে নিম্নলিখিত অনুক্রমটি একটি রাইফেল বদল নয় ।
1,2,3 -> 3,2,1
আমরা এটি দেখতে পারি কারণ দুটি (অ-তুচ্ছ) পার্টিশনের জন্য
1, 2 | 3
1 | 2, 3
কার্ডের একটি জুড়ি রয়েছে যা তাদের আপেক্ষিক ক্রমগুলি বজায় রাখে না। প্রথম পার্টিশনে উপস্থিত 1
এবং 2
তাদের ক্রম পরিবর্তন করেন, দ্বিতীয় পার্টিশন যখন 2
এবং 3
তাদের ক্রম পরিবর্তন করুন।
তবে আমরা দেখতে পাই যে 3, 2, 1
দুটি রাইফেল শ্যাফেল রচনা করে তৈরি করা যেতে পারে,
1, 3, 2 + 2, 3, 1 = 3, 2, 1
প্রকৃতপক্ষে প্রমাণ করার মতো একটি সহজ সরল সত্যটি হ'ল যে কোনও ক্রিয়াকলাপকে আমার কয়েকটি সংখ্যক রাইফেল শফল ক্রমশক্তি সংমিশ্রণ করা যায়।
কার্য
আপনার টাস্ক একটি প্রোগ্রাম বা ফাংশন যে (আকারের একটি বিন্যাস লাগে করা হয় এন ইনপুট হিসাবে) এবং আউটপুট তাস শাফল এলোমেলো একাধিক বিন্যাসন (আকার ক্ষুদ্রতম সংখ্যা এন ) যে ইনপুট বিন্যাস গঠন মিলিত হতে পারে। আপনি কতগুলি আছে তা রাইফেলকে নিজেরাই আউটপুট করতে হবে না।
এটি কোড-গল্ফ তাই কম বাইট ভাল হওয়ার সাথে বাইটে উত্তরগুলি দেওয়া হবে।
আপনি পরিচয়ের অনুক্রমের জন্য 1 বা 0 টি আউটপুট দিতে পারেন।
পরীক্ষার মামলা
1,3,2 -> 1
3,2,1 -> 2
3,1,2,4 -> 1
2,3,4,1 -> 1
4,3,2,1 -> 2
4,3,2,1
হবে 2
? প্রথমে আমরা মাঝখানে বিভক্ত হয়ে লাভ করি 3,1,4,2
এবং তারপরে আমরা আবার মাঝখানে বিভক্ত হয়ে একই