আপনার কাজটি চলনগুলির একটি এলোমেলো ক্রম তৈরি করা, যা কোনও রুবিকের কিউবকে স্ক্যাম্বল করতে ব্যবহার করা যেতে পারে। এই ধরণের স্ক্যাম্বলটি হুবহু 25 টি চাল নিয়ে গঠিত। প্রতিটি পদক্ষেপে চিঠিগুলি UDRLFBoptionচ্ছিকভাবে একটি প্রত্যয় যুক্ত হয় '2।
এই স্বরলিপিটি সিঙ্গমাস্টার স্বরলিপি বলে। UDRLFB6 টির মধ্যে একটির মুখ '2উপস্থাপন করে এবং alচ্ছিক প্রত্যয়টি বাঁক কোণকে উপস্থাপন করে। এই তথ্যটি কোনওভাবেই কার্যটি সমাধান করার জন্য প্রয়োজনীয় নয়।
এই নিশ্চয়তার জন্য, যে স্ক্র্যাম্বলগুলি 'ভাল মানের', নিম্নলিখিত দুটি বিধি প্রয়োগ করতে হবে:
পরপর দুটি পদক্ষেপে একই বর্ণ থাকতে হবে না। এই পরপর প্যাচসমূহ নিষিদ্ধ
UU,DD,RR,LL,FFএবংBBএবং তাদের সব সমন্বয় মত ঐচ্ছিক প্রত্যয় ব্যবহারU2UবাU'U'।এই সরানো জোড়গুলিকে নিষিদ্ধ করা হয়েছে, কারণ এগুলি সহজেই 1 বা 0 টি চালগুলিতে কমে যেতে পারে।
U2Uহিসাবে একই প্রভাব রয়েছেU',R'Rহিসাবে একই প্রভাব।পরপর তিনটি পদক্ষেপ অবশ্যই একই বর্ণ গোষ্ঠীর হতে হবে না। চিঠি গ্রুপগুলি হ'ল
UD,RLএবংFB। এই নিয়ম অতিরিক্ত পরপর প্যাচসমূহ নিষিদ্ধUDU,DUD,RLR,LRL,FBF,BFBএবং তাদের সব সমন্বয় মত ঐচ্ছিক প্রত্যয় ব্যবহারU2DU,RL'RবাB2FB'।গ্রুপগুলি তাদের সরানো অক্ষ দ্বারা মুখগুলি সাজান sort
UএবংDএকই গ্রুপে রয়েছে, কারণ উভয়ই একই অক্ষকে ঘুরিয়ে দেয়। অতএব একটিUপদক্ষেপDমুখের টুকরোগুলি প্রভাবিত করে না এবং কোনওDপদক্ষেপUমুখের টুকরোগুলিকে প্রভাবিত করে না । সুতরাং দুটি পদক্ষেপের বিনিময় হতে পারে,UDUএকই প্রভাব আছেUUDএবং এটি কমে যেতে পারেU2D।
চ্যালেঞ্জ
একটি স্ক্রিপ্ট বা একটি ফাংশন লিখুন, যা একটি এলোমেলো স্ক্র্যামবল উত্পন্ন করে। কোনও ইনপুট নেই। স্ক্রিপ্ট / ফাংশনটিতে 25 টি মুভগুলি বিচ্ছেদ ছাড়াই বা এক স্থান দ্বারা পৃথক করে মুদ্রণ করতে হবে বা সংবাদদাতা স্ট্রিংটি ফিরিয়ে দিতে হবে।
আপনার প্রোগ্রামটি প্রতিটি স্ক্র্যাম্বেল তৈরি করতে সক্ষম হতে হবে যা উপরের নিয়মগুলিকে সন্তুষ্ট করে। অবশ্যই ধরে নিচ্ছি যে, এলোমেলো নম্বর জেনারেটরটি সত্যই এলোমেলো, এবং সিউডো এলোমেলো নয়।
এটি কোড-গল্ফ। সংক্ষিপ্ততম কোড ( বাইটে গণনা করা ) জয়ী।
উদাহরণস্বরূপ ফলাফল:
স্ক্রিপ্ট / ফাংশনটিতে 3 বার কল করার জন্য এমন কিছু মুদ্রণ / ফেরত দেওয়া উচিত:
R'B2R2F2R2FB'R2DR2ULFB2RB'U2B'FL'BR'U'RB'
U'DBR'B2U'B'U'RUF'B'RDR2U'B'LR'B'F2D2UF2L'
BR2F'B'R'D'R'U2B'F2D2R'F2D'F'D2R2B'L2R'UB'R2L'D
যদি আপনি প্রতিটি স্থানের সাথে চালগুলি পৃথক করে থাকেন:
R2 L' F2 U2 D' R2 L2 F L' D2 U R B D' U2 L B2 L U B2 D U2 R' D2 U'
B R D2 F U2 B' R2 F2 B' U' L' R2 B U2 R' D B' F' U2 R' B' L R D2 R2
B2 R2 U D' B R D' R L2 D2 L2 R B2 F U' F2 B2 U' F U' D F R2 U2 B'
লক্ষ্য করুন, এই সমস্ত আউটপুটগুলিতে 25 টি চাল রয়েছে, তবে lengthচ্ছিক প্রত্যয়গুলির কারণে এটির দৈর্ঘ্য আলাদা। এটি কোনও স্থান মুদ্রণের অনুমতি নেই, যখন হয় প্রত্যয় হিসাবে ব্যবহৃত হয় 2বা হয় '। আপনাকে প্রিন্ট করতে হবে L2UR2F'R'U2বা L2 U R2 F' R' U2। L2U R2F'R'U2অনুমোদিত নয়।
L2U R2F'R'U2। Uকোনও alচ্ছিক প্রত্যয় নেই এবং তাই এর স্থান থাকা উচিত নয়। Spaceচ্ছিক প্রত্যয়টির জন্য কোনও স্থান প্রতিস্থাপন হওয়া উচিত নয়।
U F2 L D2 R'...উদাহরণস্বরূপ, আমরা আউটপুট করতে পারি ? এই ক্ষেত্রে, কোনও অতিরিক্ত স্থান নেই, যা আমি মনে করি আপনার নিয়ম অনুযায়ী ঠিক হওয়া উচিত।
UR 2অনুমোদিত নয়?U R2উচিত অনুমতি দেওয়া হবে, আমি মনে করি, যেহেতু প্যাচসমূহ মধ্যে শূণ্যস্থান জ্ঞান করে তোলে।