আপনার কাজটি চলনগুলির একটি এলোমেলো ক্রম তৈরি করা, যা কোনও রুবিকের কিউবকে স্ক্যাম্বল করতে ব্যবহার করা যেতে পারে। এই ধরণের স্ক্যাম্বলটি হুবহু 25 টি চাল নিয়ে গঠিত। প্রতিটি পদক্ষেপে চিঠিগুলি UDRLFB
optionচ্ছিকভাবে একটি প্রত্যয় যুক্ত হয় '2
।
এই স্বরলিপিটি সিঙ্গমাস্টার স্বরলিপি বলে। UDRLFB
6 টির মধ্যে একটির মুখ '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
উচিত অনুমতি দেওয়া হবে, আমি মনে করি, যেহেতু প্যাচসমূহ মধ্যে শূণ্যস্থান জ্ঞান করে তোলে।