43 কুইন্টিলিয়ন ক্রম


16

আমরা নীচে নীচে একটি রুবিক কিউবকে নেট হিসাবে উপস্থাপন করতে পারি (সমাধান করার সময়):

   WWW
   WWW
   WWW
GGGRRRBBBOOO
GGGRRRBBBOOO
GGGRRRBBBOOO
   YYY
   YYY
   YYY

প্রতিটি বর্ণ সংশ্লিষ্ট রঙের প্রতিনিধিত্ব করে ( Wসাদা, Gসবুজ ইত্যাদি)

এটি দেখানো হয়েছে যে কোনও রুবিকের কিউব হতে পারে ঠিক ঠিক 43,252,২003,274,489,856,000 (~ 43 কুইন্টিলিয়ন) বিভিন্ন অনুমতি।

আপনার কাজটি উপরে বর্ণিত পদ্ধতিতে 1 এবং 43,252,২003,274,489,856,000 মধ্যে একটি পূর্ণসংখ্যা নেওয়া এবং আনুষঙ্গিক আদেশের আউটপুট আউটপুট প্রদান করা। আপনি অনুমতি দিতে পারেন কীভাবে অর্ডার করা হয় তা চয়ন করতে পারেন তবে আপনি যে অ্যালগরিদম ব্যবহার করেন তা প্রতিটি সম্ভাব্য ইনপুটটির জন্য একটি অনন্য, এবং সঠিক, ক্রমবর্ধমান উত্পন্ন করতে অবশ্যই দেখানো উচিত।

অবৈধ অনুচ্ছেদ বিধি

এই পৃষ্ঠা থেকে নেওয়া

শুরু করার জন্য, প্রতিটি 3x3 মুখের কেন্দ্রটি একই থাকতে হবে, কারণ কোনও রুবিকের কিউবের কেন্দ্রের বর্গক্ষেত্রটি ঘোরানো যায় না। পুরো ঘনক্ষেত্রটি ঘোরানো যেতে পারে, যেখানে কোনও চেহারা দেখা যায় সেখানে পরিবর্তিত হয়, তবে এটি কিউবের নেটকে প্রভাবিত করে না।

যদি আমরা বলি যে প্রতিটি অনুচ্ছেদে একটি ক্রমান্বয় রয়েছে, সেই ক্রমান্বয়ে পৌঁছানোর জন্য অদলবদলের সংখ্যার সমতার ভিত্তিতে, আমরা বলতে পারি

  • প্রতিটি কোণার অংশে তিনটি সম্ভাব্য ওরিয়েন্টেশন রয়েছে। এটি সঠিকভাবে (0), ঘড়ির কাঁটা (1) বা ঘড়ির কাঁটার বিপরীতে (2) ভিত্তিক হতে পারে। কোণার ওরিয়েন্টেশনের যোগফল সর্বদা 3 দ্বারা বিভাজ্য থাকে

  • রুবিকের কিউবে প্রতিটি আইনী ঘূর্ণন সর্বদা একাধিক প্রান্তকে সরিয়ে দেয় যাতে কেবলমাত্র একটি টুকরোমুখী ভুল হতে পারে না।

  • সমস্ত কোণ এবং প্রান্তের ক্রমবর্ধমান বিবেচনা করে সামগ্রিক সমতা সমান হতে হবে যার অর্থ প্রতিটি আইনী পদক্ষেপ সর্বদা সমান সংখ্যক অদলবদলের সমতুল্য সম্পাদন করে (অভিযোজন উপেক্ষা করে)

উদাহরণস্বরূপ নিম্নলিখিত তিনটি নেট অবৈধ আউটপুট:

   WWW
   WWW
   WWW
GGGWWWBBBOOO
GGGRRRBBBOOO
GGGRRRBBBOOO
   YYY
   YYY
   YYY

(Too many whites/not enough reds)

   WRW
   WRW
   WRW
GGGRWRBBBOOO
GGGWRRBBBOOO
YYGRWROOOBBB
   YYY
   GGY
   YYY

(There are two red/green center squares and no white/yellow center squares.
 In all valid permutations, the center squares are all different colours)

   WWW
   WWW
   WWW
GGGRRRBBBOOO
GGGRRRBBBOOO
GGGRRRBBOYOO
   YYY
   YYY
   YYB

(The yellow/orange/blue corner is rotated into an impossible permutation)

বিধি

  • আপনি অবশ্যই ইচ্ছুক, প্রমাণ করতে হবে যে অ্যালগরিদম বৈধ। যতক্ষণ আপনি আপনার অ্যালগরিদমের বৈধতা প্রমাণ করেন ততক্ষণ আপনাকে প্রতিটি একক ক্রমান্বন গণনা করতে হবে না।
  • 143,252,২003,274,489,856,000
    • 253-1253-1
    • 27,946,105,037,114,827,095
  • আপনার উত্তরে আপনাকে বৈধতার প্রমাণের কিছু প্রকার অন্তর্ভুক্ত করতে হবে । এই প্রমাণটি সমস্ত সম্ভাবনা গণনা ব্যতীত যে কোনও স্বীকৃত প্রমাণ পদ্ধতিতে বৈধতা প্রমাণ করতে পারে।
  • আপনি যদি চান তবে একটি বিকল্প ইনপুট পদ্ধতি ব্যবহার করতে বেছে নিতে পারেন:
    • ইনপুট সীমাবদ্ধ
    • প্রতিটি ইনপুট একটি অনন্য আউটপুট অনুরূপ
    • আপনি স্পষ্টভাবে ইনপুট ফর্ম্যাটটি ব্যাখ্যা করেন এবং এটি প্রতিটি আউটপুটের সাথে কীভাবে মিল রয়েছে
  • আপনি পরিবর্তে 33 ( !) এবং 126 ( ~) এর মধ্যে different টি পৃথক ASCII অক্ষর ব্যবহার করতে ব্যবহৃত অক্ষরগুলি পরিবর্তন করতে পারেনWGRBOY
  • আপনি যে কোনও পদ্ধতিতে আউটপুট পেতে পারেন, যতক্ষণ না এটি একটি ঘনক্ষেতের স্পষ্ট প্রতিনিধিত্ব করে যেখানে সমস্ত বৈধ কিউব নেট, একটি একক রেখাযুক্ত স্ট্রিং বা 3 ডি রেন্ডারিং সহ 6 টি মুখ দেখাতে সক্ষম are আপনি যদি কোনও নির্দিষ্ট ফর্ম্যাট সম্পর্কে অনিশ্চিত থাকেন তবে মন্তব্যে জিজ্ঞাসা করতে দ্বিধা করবেন না।

এটি একটি তাই সংক্ষিপ্ততম কোড, বাইটে, প্রতিটি ভাষায় জয়।

বৈধ আউটপুট উদাহরণ

   YYY
   YYY
   YYY
GGGRRRBBBOOO
GGGRRRBBBOOO
GGGRRRBBBOOO
   WWW
   WWW
   WWW

(The `W` and `Y` faces have been swapped)

   ZZZ
   +++
   +}}
+[[}77ZZ7bbb
bb[}[[7}}+Z7
bb[}++[}}+Z7
   7bb
   [7Z
   [7Z

(To start with, the colours have been mapped W -> +, G -> b, R -> [, B -> }, O -> Z and Y -> 7.
 Then, the moves L, R, U and F' have been applied, in that order.
 Notice that each centre square is different, and corresponds to the same colour as in the mapping)

তৃতীয় অবৈধ উদাহরণে এটি ঠিক নয় যে কোণটি একটি অবৈধ কনফিগারেশনে রয়েছে, r / y / o কোণটি একটি অসম্ভব কোণ এবং r এবং o একে অপরের বিপরীতে থাকার কারণে
fəˈnɛtɪk

তৃতীয় অবৈধ উদাহরণ (সিসি @ f @nəˈt )k) স্থির
জোনাথন অ্যালান

একই সমস্যা দ্বিতীয় অবৈধ উদাহরণেও ছিল তবে আমি এটি লক্ষ্য করি নি। এটি সেখানে কম গুরুত্বপূর্ণ কারণ রংগুলি যাইহোক
গণ্ডগোল

(একটি1,একটি2,একটি3,একটি4)একটি18!একটি237একটি312!/2একটি4211

1
@ শেগি হ্যাঁ, একটি একক লাইনের স্ট্রিং ঠিক আছে

উত্তর:


13

কাঠকয়লা , 334 297 বাইট

Nθ≔׳﹪θ²¹⁸⁷ε≧⁺﹪±Σ⍘峦³ε≧÷²¹⁸⁷θ≔⁴⁰³²⁰δ≔﹪θδζ≧÷δθ≔⊗﹪θ²⁰⁴⁸η≧⁺﹪Σ⍘粦²η≧÷²⁰⁴⁸θF⪪”B"↷:μêKO″KW#})”³«J⌕α§ι⁰I§ι¹§ι²»≔⁰ω≔⪪”A‽}y≔W⊞≦≦⧴!O×➙⟧ï!Y9⁺`↙1δQ1ξzT”⁶υ≔⪪”{➙∧⊙ηr⸿ξd⊕÷M→¡$≧”³δF²«Fδ«≔§υ⎇⁼Lυ⊗ιωζδ≧÷Lυζ≧⁺⌕υδω≔Φυ¬⁼λδυFLκ«J⌕α§δ⊗⁺λεI§δ⊕⊗⁺λε§κλ»≧÷Lκε»≔⪪”A‽}R›K<≡^μ≡⟦σD⎚+πη±t¿e∧L⸿~↑�w”⁴υ≔⪪”{➙∧⊙ηr⸿ξe'→↑Þ³№¹”²δ≔θζ≔ηε

এটি অনলাইন চেষ্টা করুন! লিঙ্কটি কোডটির ভার্জোজ সংস্করণ। ব্যাখ্যা:

Nθ

পূর্ণসংখ্যাকে চলকতে ইনপুট করুন q

≔׳﹪θ²¹⁸⁷ε≧⁺﹪±Σ⍘峦³ε≧÷²¹⁸⁷θ

q3⁷ দ্বারা ভাগ করুন , বাকীটি রেখে দিন e। তারপরে, eবেস 3 তে একটি সংখ্যা হিসাবে বিবেচনা করে, একটি সংখ্যার সাথে প্রত্যয় স্থাপন করুন eযাতে এর অঙ্কগুলি (বেস 3 তে) 3 এর একাধিক যুক্ত eহয় এটি কোণগুলির আবর্তন সংজ্ঞায়িত করতে দেয় ।

≔⁴⁰³²⁰δ≔﹪θδζ≧÷δθ

q8 দিয়ে ভাগ করুন, বাকীটি রেখে দিন z। (8! dএকটি বাইট সংরক্ষণ করার জন্য অস্থায়ীভাবে সংরক্ষণ করা হয়)) এটি zকোণগুলির অবস্থানগুলি নির্ধারণ করতে দেয় ।

≔⊗﹪θ²⁰⁴⁸η≧⁺﹪Σ⍘粦²η≧÷²⁰⁴⁸θ

q2¹¹ দ্বারা ভাগ করুন , বাকীটি রেখে দিন h। তারপরে, hবেস 2 তে একটি সংখ্যা হিসাবে বিবেচনা করে, এমন একটি সংখ্যার সাথে প্রত্যয় যুক্ত করুন hযাতে এর অঙ্কগুলি (বেস 2 তে) 2 এর একাধিক যুক্ত hহয় এটি প্রান্তগুলির ফ্লিপগুলি সংজ্ঞায়িত করতে দেয় ।

F⪪”B"↷:μêKO″KW#})”³

কেন্দ্রগুলির একটি স্ট্রিং উপস্থাপনের উপর লুপ।

«J⌕α§ι⁰I§ι¹§ι²»

প্রতিটি কেন্দ্রের অবস্থানে যান এবং এটি মুদ্রণ করুন।

≔⁰ω

পরিবর্তনশীল কোণার অবস্থানের সমতা ট্র্যাক রাখুন w

≔⪪”A‽}y≔W⊞≦≦⧴!O×➙⟧ï!Y9⁺`↙1δQ1ξzT”⁶υ

কোণার অবস্থানের একটি অ্যারে তৈরি করুন।

≔⪪”{➙∧⊙ηr⸿ξd⊕÷M→¡$≧”³δ

কোণার রঙের একটি অ্যারে তৈরি করুন।

F²«

দু'বার লুপ, একবার কোণার জন্য, একবার প্রান্তের জন্য, এর পরে "কিউবস" হিসাবে উল্লেখ করা হয়।

Fδ«

কিউব রঙের অ্যারের উপরে লুপ করুন।

≔§υ⎇⁼Lυ⊗ιωζδ≧÷Lυζ≧⁺⌕υδω≔Φυ¬⁼λδυ

এর মধ্যে সমতাটি zআপডেট করে পরবর্তী কিউব অবস্থানটি বের করুন w। শেষ কিন্তু এক প্রান্তের জন্য এই সমতা ব্যবহার করুন। এটি নিশ্চিত করে যে প্রান্ত এবং কোণগুলির সমতা সমষ্টি।

FLκ«J⌕α§δ⊗⁺λεI§δ⊕⊗⁺λε§κλ»

পরবর্তী ঘূর্ণনের জন্য সামঞ্জস্য করা বা যথাযথভাবে ফ্লিপ করুন that অবস্থানে কিউবটি মুদ্রণ করুন।

≧÷Lκε»

ঘূর্ণনটি সরিয়ে ফেলুন বা থেকে ফ্লিপ করুন e

≔⪪”A‽}R›K<≡^μ≡⟦σD⎚+πη±t¿e∧L⸿~↑�w”⁴υ

প্রান্ত পজিশনের একটি অ্যারে তৈরি করুন। এটি দ্বিতীয়বার লুপের মাধ্যমে ব্যবহৃত হবে।

≔⪪”{➙∧⊙ηr⸿ξe'→↑Þ³№¹”²δ

প্রান্ত রঙের একটি অ্যারে তৈরি করুন।

≔θζ≔ηε

কোণ ভেরিয়েবল ওভাররাইট zএবং eসংশ্লিষ্ট প্রান্ত ভেরিয়েবল সঙ্গে qএবং hযাতে প্রান্ত permuted এবং লুপ দ্বিতীয় পাস সময় ফ্লিপ করা হয়।


আমাকে পরামর্শ দিন: চারকোলে গল্ফ করা কিছু যদি 330 বাইট হয়, তবে পিএইচপি-তে চেষ্টা করবেন না!
রাত 2

@ নাইট 2 দুঃখের সাথে এখন 334, একটি বাগফিক্সের কারণে (ভুল সমতা গণনা)।
নীল

8

রুবি , 570 408 বাইট

->g,h{z=[]
c=a="\x19)!$'%\x177\x1F495.)@7g~yp"
20.times{|i|z<<a[k=g%r=12+i/12*8-i];a[k]="";g/=r}
19.times{|i|z[0..i].map{|j|j>z[i+1]&&c=!c}}
c||(z[19],z[18]=z[18,2])
h+=h+("%b"%(h%2048)).sum%2
j=0
b="023451"
20.times{|i|b<<("%0*o"%[r=2+i/12,z[i].ord-20]*2)[h%r+i/19*j%3,r];j-=r/3*h;h/=r}
s=(t="...
"*3)+(?.*12+$/)*3+t
54.times{|i|s["<QTWZo;MP[ngD@RS^k=GVUpaJ8XYdsAFE?CN7LK9IHl_`jh]reftbc"[i].ord-55]=b[i]}
s}

এটি অনলাইন চেষ্টা করুন!

আসল সংস্করণ, যাদু স্ট্রিংয়ের পরিবর্তে যাদুসংখ্যার অ্যারেগুলি সহ

->g,h{z=[]
a=[05,025,015,020,023,021,03,043,013,040,045,041,   032,025,054,043,0123,0152,0145,0134]
#PERMUTE
20.times{|i|r=12+i/12*8-i;z<<a.delete_at(g%r);g/=r}
c=1
19.times{|i|z[0..i].map{|j|j>z[i+1]&&c=!c}}
c||(z[19],z[18]=z[18],z[19])
#ROTATE
h+=h+(h%2048).to_s(2).sum%2
j=0
b="023451"
20.times{|i|r=2+i/12;b<<("%0*o"%[r,z[i]]*2)[h%r+i/19*j%3,r];j-=r/3*h;h/=r}
#DISPLAY
s=(t="...
"*3)+(?.*12+$/)*3+t
54.times{|i|s[
[5,26,29,32,35,56,
4,22,25,36,55,48, 
13,9,27,28,39,52,
6,16,31,30,57,42,
19,1,33,34,45,60,
10,15,14,8,12,23,0,21,20,2,18,17,
53,40,41,51,49,38,59,46,47,61,43,44][i]]=b[i]}
s}

এটি অনলাইন চেষ্টা করুন!

একটি বেনামি ফাংশন যা তার বর্তমান আকারে দুটি পূর্ণসংখ্যার ইনপুট নেয়, যা মনে হয় বলে মনে হয়: "আপনি একটি বিকল্প ইনপুট পদ্ধতি চয়ন করতে পারেন।" প্রথমটি হ'ল 0 থেকে ব্যাপ্তির ক্রিয়াকলাপ 12!*8!/2 - 1এবং দ্বিতীয়টি 0 থেকে পরিসরের টুকরোগুলির স্থিতিবিন্যাস 2**11 * 3*7 - 1। সমাধান হওয়া অবস্থায় আউটপুটটি নিম্নলিখিত স্ট্রিং:

000
000
000
222333444555
222333444555
222333444555
111
111
111

আরও গল্ফিং

নিম্নলিখিত আকারে আউটপুট ফর্ম্যাটটি সামঞ্জস্য করে আনুমানিক আরও 10 টি অক্ষর সংরক্ষণ করতে হবে। তবে এটি পঠনযোগ্যতা হ্রাস করবে, তাই আমি বর্তমানে এটি করবো না

      #########
      #########
      #########
#########
#########
#########

ব্যাখ্যা

বিন্যাস

অভ্যন্তরীণভাবে, সমাধান হওয়া অবস্থায় অ্যারেতে অষ্টাল সংখ্যার সিরিজ দ্বারা প্রতিনিধিত্ব করা হয় a। ইনপুটটি gসংখ্যা দ্বারা বিভক্ত করে 12..1মডিউলটি একটি কিনারাটি বেছে নিতে এবং aএটিতে স্থাপন করতে ব্যবহৃত হয় z। একবার এটি হয়ে গেলে, কেবল কোণগুলি থেকে যায় a, সুতরাং একটি কোণ থেকে অপসারণ করতে এবং এটি স্থাপন করতে মডুলাসটি ব্যবহার gকরে সংখ্যা দ্বারা ভাগ করা হয় ।8..1az

শেষ দুটি কোণার ক্রম নির্ধারণের জন্য যেমন পর্যাপ্ত তথ্য নেই, ততক্ষণে উইলের মান gশূন্যে বিভক্ত হয়ে গেছে, সুতরাং সেগুলি সর্বদা zসেখানে মূল ক্রমে যুক্ত হবে। এরপরে একটি চেক নির্ধারণ করা হয় যে সামগ্রিকভাবে ক্রমান্বনটি সমান বা বিজোড়, এবং যদি প্রয়োজন হয় তবে শেষ দুটি কোণটি এমনকি অনুচ্ছেদটিকে আরও সমাপ্ত করার জন্য অদলবদল করা হয়।

ঝোঁক

কোনও কোণ বা প্রান্তটি যদি তার সমাধানের স্থানে না থাকে তবে সঠিক ওরিয়েন্টেশনে থাকে কিনা তা সিদ্ধান্ত নেওয়ার বিভিন্ন বিভিন্ন উপায় রয়েছে। এই উত্তরটি উদ্দেশ্য, একটি কোণ এর সঠিক স্থিতিবিন্যাস ধরা হবে যদি তার শো হয় 0বা 1উপরে বা নীচে মুখে। সুতরাং উপরের বা নীচের মুখটি ঘোরানো কোণার প্রবণতা পরিবর্তন করে না। অন্য মুখগুলি ঘোরানো ওরিয়েন্টেশনকে পরিবর্তন করে, তবে এমনভাবে যাতে সামগ্রিক সমতা সমষ্টি অপরিবর্তিত থাকে। প্রান্ত সঠিক সজ্জাতে বলে মনে করা হয় যদি তারা একটি শো 2বা 4সামনে / পিছনে বা 3বা 5বামে / ডান। এর অর্থ এই যে চতুর্থাংশ ঘুরিয়ে শীর্ষ বা নীচে ঘোরানো চারটি প্রান্তকে ফ্লিপ করে তবে অন্য মুখগুলির ঘূর্ণনটি ফ্লিপের স্থিতিটি অপরিবর্তিত রাখে।

ইনপুটটিতে প্রথম প্রান্ত এবং শেষ কোণার ব্যতীত সকলের জন্য সুস্পষ্ট তথ্য রয়েছে। 11 টি কমপক্ষে উল্লেখযোগ্য বিটগুলি h%2048সংক্ষিপ্ত করা হয় এবং প্রথম প্রান্তের অভিমুখ নির্ধারণের জন্য মডিউল ব্যবহার করা হয়। hএটিকে নিজের সাথে যুক্ত করে 2 দ্বারা গুণিত করা হয় এবং প্রথম প্রান্তের অভিমুখের মানটি সর্বনিম্ন উল্লেখযোগ্য বিট হিসাবে যুক্ত হয়। শেষ কোণটির ওরিয়েন্টেশনটি উত্তর কোণ থেকে ক্রমান্বয়ে বিয়োগ করে পাওয়া যায় j। একেবারে শেষ কোণে (যেখানে i/19= 1) এর মান j%3যুক্ত করা হয়েছে h(যা শূন্যে কমে যাবে) এবং এটি শেষ কোণটির ওরিয়েন্টেশন নির্ধারণ করে।

স্ট্রিংগুলি bমুখগুলির কেন্দ্রগুলির জন্য পাঠ্যের সাথে পূর্বনির্ধারিত আসে। টুকরাটির অবস্থান নির্ধারণের জন্য মডিউলগুলি ব্যবহার করে আট বার hদ্বারা 2বারো বার বিভক্ত হয় 3। প্রতিটি ক্ষেত্রে, zসংখ্যার উপযুক্ত সংখ্যা (2 বা 3) সহ একটি স্ট্রিতে রূপান্তরিত হয় এবং স্ট্রিংটি পরে নকল হয়। এটি সূচি দ্বারা স্ট্রিং থেকে উত্তোলন করে এবং এতে সংযোজন করে মডুলোর সন্ধান করা অঙ্কগুলির সঠিক ঘূর্ণন মঞ্জুরি দেয়b

প্রদর্শন

শেষ অবধি, কাঁচা স্টিকারগুলি সূচি সারণীতে যাদু সংখ্যাগুলি ব্যবহার করে bআরও বেশি মানব পাঠযোগ্য বিন্যাসে অনুলিপি করা হয় s

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.