এটি কি কোনও রুবিকের কিউব?


25

প্যাডেন্টদের ভেন্যুর পাসের সময়টি উল্লেখ করতে হবে যে "রুবিকস কিউবস" এর ছবি (টি-শার্ট, পোস্টার ইত্যাদিতে) আসলে দ্রবণযোগ্য নয়।

প্রথম জিনিসটি যাচাই করা উচিত তা হ'ল কিউবটি সঠিক টুকরা দিয়ে তৈরি। দ্রবণযোগ্য হতে একটি ঘনক্ষেত্রে নয়টি স্কোয়ারের সাথে ছয়টি রঙের প্রয়োজন। কিউবটিরও অনন্য হতে প্রতিটি প্রান্ত এবং কোণার ইউনিট প্রয়োজন (এগুলি কিউব তৈরি করা ছোট কিউবগুলি হয়)। কেবল এগুলিই অনন্য হওয়া উচিত নয় তবে দুটি কেন্দ্রের টুকরা একে অপরের বিপরীতে থাকলে কোনও প্রান্ত বা কোণার টুকরোতে উভয় রঙ থাকতে পারে।

আপনার কাছে একবার যদি একটি ঘনক্ষেত্র তৈরি হয়ে যায় যা সমস্ত ডান টুকরো দিয়ে তৈরি হয় তবে আপনাকে এখনও যাচাই করতে হবে এটি দ্রবণযোগ্য হতে পারে। এখানে বেশ কয়েকটি বিধি রয়েছে, সুতরাং আমি তাদের বোঝাতে একটি বিশেষজ্ঞের কাছে পিছিয়ে দেব, নীচের স্পোলারটি ব্যাখ্যা করে যে আমরা কীভাবে এটি করতে পারি। আপনি যদি নিজেরাই সমস্যাটি সমাধান করতে আগ্রহী হন তবে আপনাকে এই চ্যালেঞ্জটি বুঝতে বা অংশ নিতে সাইটটি দেখার দরকার নেই।

লিঙ্কযুক্ত ব্যাখ্যা

আপনার কাজটি হ'ল ইনপুট হিসাবে একটি প্যাটার্ন গ্রহণ করা এবং এটি বাস্তবে দ্রাব্য রুবিকের কিউব কিনা তা নির্ধারণ করা। দ্রবণযোগ্য হওয়ার জন্য একটি কিউবে বৈধ পদক্ষেপগুলি সম্পাদন করার একটি উপায় থাকতে হবে যাতে ঘনক্ষেত্রের প্রতিটি মুখের একটি মাত্র রঙ থাকে (এবং বিভিন্ন মুখের বিভিন্ন বর্ণ থাকে)। বেশিরভাগ রুবিকের কিউবগুলিতে একটি স্ট্যান্ডার্ড রঙ থাকে (সাদা হলুদ রঙের বিপরীতে থাকে ইত্যাদি) আপনি ধরে নিতে পারেন না যে সমাধানের রাজ্যটি এই বিশেষ বর্ণটিকে অনুসরণ করে।

একটি বৈধ পদক্ষেপ হল ঘনক্ষেত্র বা ঘনক্ষেত্রের একক মুখের এন্টি-ক্লকওয়াইজ রোটেশন। কিউবের মুখের ঘোরার সাথে সাথে মুখের সীমানাযুক্ত যে কোনও স্কোয়ারগুলি পাশাপাশি ঘোরানো হয়, তারা পূর্বে স্পর্শ করা মুখের সাথে সংযুক্ত থাকুন।

আই

আপনি কোনও যুক্তিসঙ্গত পদ্ধতিতে কিউব নিতে পারেন। আপনার ভাষার যদি কিছু বিল্টিন "কিউব-ফেস" টাইপ থাকে তবে আপনার পক্ষে ভাল এটি ইনপুট হিসাবে ঠিক আছে, অন্য কোন জ্ঞানের ভিত্তিতে আপনি প্রতিটি মুখের জন্য নেট দ্বারা 3 ঘরের 3 টি তালিকা নিখুঁত নেটের 2D অ্যারে নিতে পারেন। শুধু যুক্তিযুক্ত হতে। যদি আপনি জানতে চান যে কোনও নির্দিষ্ট বিন্যাসটি গ্রহণযোগ্য মন্তব্যযোগ্য বা চ্যাটে আমাকে পিং করছে এবং আমি এর বৈধতা জানাতে চ্যালেঞ্জকে যুক্ত করব।

আপনার ইনপুট ফর্ম্যাটটিতে কেবল 9 টি পর্যন্ত রঙের সমর্থন দরকার।

আউটপুট জন্য এটি একটি সিদ্ধান্ত সমস্যা তাই আপনার "হ্যাঁ, এটি একটি বৈধ রুবিকের কিউব" এবং "না, এটি একটি বৈধ রুবিক্স কিউব নয়" এর জন্য আলাদা ধ্রুবক মানের জন্য একটি ধ্রুবক মান আউটপুট করা উচিত।


এটি তাই কম বাইট ভাল হওয়ার সাথে উত্তরগুলি বাইটে স্কোর করা হবে।

পরীক্ষার মামলা

এখানে পরীক্ষার মামলা রয়েছে। এগুলি প্রতিটি স্কোয়ারের সাথে একক বর্ণ হিসাবে ঘনক্ষেত্রের নেট হিসাবে ফর্ম্যাট করা হয়। বিভিন্ন বর্ণ বিভিন্ন রং উপস্থাপন করে। অনুরোধের পরে আরও যে কোনও টেস্টকেস যুক্ত করা যেতে পারে।

সমাধেয়

   RRR
   RRR
   RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWWWBBBOOO
   YYY
   YYY
   YYY


   GRR
   GRR
   ORW
WWRBWYBOOGGY
GGRBWGYBBOOO
OOGRWGYWWRBB
   WYO
   YYB
   YYB

অসমাধানযোগ্য

   RRR
   RRR
   RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWYWBBBOOO
   YWY
   YYY
   YYY


   RRR
   RRR
   RRR
GGGWWWBBBOOO
GGGWWWBBBOOO
GGGWWWBBBOOO
   YWY
   YYY
   YYY


   RRR
   RRR
   GGG
GGYWYWRBBOBO
GGYWWWROBOOO
GGYWWWRBBOOO
   BBB
   YWY
   YYY


   RRW
   RRW
   GGG
GGYWWYEOBROO
GGYWWYEBBROO
GGOWWYWBBROO
   BBB
   YYW
   YYO

14
আপনার অবতারে রুবিকের কিউব দ্রবণযোগ্য নয় বলে আমি উল্লেখ করতে বাধ্য feel এটির মুখোমুখি আমাদের পক্ষে কেবলমাত্র 4 স্কোয়ার রয়েছে, যখন একটি সাধারণ রুবিকের ঘনক্ষেত্রটি 9 হওয়া উচিত the স্কোয়ারগুলির উপরে অদ্ভুত চিহ্নগুলি উল্লেখ করা উচিত নয়।
ডিজেএমসিএমহেম

2
@ ডিজেএমসিএমহেম আমার বাচ্চাদের রবিকের কিউব রয়েছে মাত্র চারটি "সাব কিউব"।
অ্যাডাম

2
@ H.PWiz না, আপনি পারবেন না। এটি আমার সংজ্ঞায় অন্তর্ভুক্ত ছিল তবে আমি এটিকে প্রশ্নে স্পষ্ট করে দেব।
গম উইজার্ড

2
আপনার স্পেসিফিকেশনে কিউবের তিনটি সাম্য আইনের সম্পূর্ণ বিবরণ অন্তর্ভুক্ত নয়। ১.১০ ডিগ্রি (উল্লিখিত) কেবল একটি প্রান্তটি উল্টানো অসম্ভব ২. কেবলমাত্র 1 কোণটি 120 ডিগ্রি মোচড় করা অসম্ভব (উল্লিখিত নয়) ৩. কিউবিজের বিজোড় অনুচ্ছেদ থাকা অসম্ভব (উল্লেখ নেই) )। এটি সমাধান না হওয়া পর্যন্ত আমি নিবিড় ভোট দিচ্ছি। ব্যাখ্যার জন্য ryanheise.com/cube/cube_laws.html দেখুন ।
স্তর নদী সেন্ট

4
@ লেভেলরিভারস্ট নোট করুন যে রুবিকের ঘনকটি স্বয়ংসম্পূর্ণ, যে কেউ গণিতের সূত্র এবং সমতা আইন স্বাধীনভাবে গ্রহণ করতে পারেন।
ব্যবহারকারী 202729

উত্তর:


14

কিউবিকভাবে , 1664 1631 1089 বাইট

⇒FD2F'R'D2RUR'D2RFD2F'U'
⇒Ff1F'
⇒LFf1F'L'
⇒F'f1F
⇒F2f1F2
⇒L'F2f1F2L
⇒D'F'f1FD
⇒LR'FLR'DLR'B2L'RDL'RFL'RU2
⇒LFf8F'L'
⇒R'F'f8FR
⇒Ff8F'
⇒F'f8F
⇒ULU'f8UL'U'
⇒U'R'Uf8U'RU
⇒F2f8F2
⇒Df15D'
⇒D'f15D
⇒D2f15D2
⇒UF2UF2D'L2B2U'B2DL2F2D2B2D2F2
⇒U'DL2UD'B2
⇒UF2UF2D'L2B2D'R2UR2F2D2B2U2B2
⇒BL'BU2D2F'RF'U2D2
⇒LD'F2U'B2U'RU2R'F2R2F2D'R2DF2D
⇒B2URB2D2B2RB2U'D'L2D'B2
⇒B2LF'U'B2UFL'R2B2U'D2L2D'B2U
⇒B2RB2D2B2RB2U'L2UD'F2U'F2B2
⇒D2R'FUB2U'F'RU2B2D'F2R2UF2UF2
⇒B2R2U'L'D2B2U2R'U2R2F2L2R2UR2
⇒D2L'B2U2F2RUL2U'F2R2U'R2U2F2DL2D'
⇒UB2U'L2DL2B2DB2D'B2
⇒BR'BL2B'RBL2B2
⇒UF2B2U'F2B2U'F2L2R2B2R2
⇒R2U'F2DR2UF2D'R2DF2R2D'F2
⇒U'F2DF2UL2F2DL2DF2L2D2F2
⇒U2D'L2U'F2L2U'B2L2R2U'L2B2
⇒F2D'R2U2L2B2UF2L2U2F2L2UF2R2
⇒[f1]3
⇒[f2f37]3
⇒[f3f38]3
⇒[f4f39]3
⇒[f5f40]3
⇒[f6f41]3
⇒[f7f42]3
⇒[f8f43]2
⇒[f9f44]2
⇒[f10f45]2
⇒[f11f46]2
⇒[f12f47]2
⇒[f13f48]2
⇒[f14f49]2
⇒[f15f50]2
⇒[f16f51]2
⇒[f17f52]2
⇒[f18f53]2
⇒[f19f54]2
⇒[f20f55]3
⇒[f21f56]4
⇒[f22f57]5
⇒[f23f58]6
⇒[f24f59]7
⇒[f25f60]8
⇒[f26f61]9
⇒[f27f62]9[f27f62]2
⇒[f28f63]9[f28f63]3
⇒[f29f64]9[f29f64]4
⇒[f30f65]2
⇒[f31f66]3
⇒[f32f67]4
⇒[f33f68]5
⇒[f34f69]6
⇒[f35f70]7
rs[f36f71]8

দ্রবণযোগ্য হলে আউটপুট: Solved!
অলসযোগ্য হলে আউটপুট: (খালি, আউটপুট নেই)

ইনপুট কিউবিক্য কিউব-ডাম্প রূপে ফর্ম্যাট করা উচিত ( Debugবিভাগটি দেখুন)। এটি স্পষ্টভাবে ওপি দ্বারা অনুমোদিত হয়েছিল।

ব্যাখ্যা

এই প্রোগ্রামটি একটি ডিভিলের অ্যালগরিদম ব্যবহার করে সমাধান করা ঘনক্ষেত্রের মতো একই গ্রুপে কিউবের প্রতিটি সম্ভাব্য অবস্থার উপর পুনরাবৃত্তি ঘটায় । যদি কিউবটি সমাধানযোগ্য হয় তবে অ্যালগরিদম শেষ হওয়ার আগেই এটি এক পর্যায়ে সমাধান হয়ে যাবে ( আমি যেভাবে ব্যবহৃত অ্যালগরিদমটি সঠিকভাবে কাজ করে তা ধরে নিই )।

(কিউবিকের কোডপেজের 0x84) দিয়ে শুরু হওয়া প্রতিটি লাইন একটি ফাংশন সংজ্ঞা; এই ফাংশনগুলি প্রকৃত শয়তানের অ্যালগরিদম তৈরির জন্য একে অপরের তৈরি করে। মৃত্যুদন্ড কার্যকর করা প্রথম লাইনটি হ'ল শেষ:

rs[f36f71]8

rস্টিডিন থেকে একটি কিউব পড়ে এবং এটিতে মেমরি কিউব সেট করে। sদোভাষীকে "সলভোমোডে" রাখে যার অর্থ Solved!কিউব যে কোনও বিন্দুতে (সমাধান না হওয়ার পরে) সমাধান হয়ে যায় তা প্রস্থান করে এবং প্রিন্ট করে। বাকি কমান্ডগুলি (যা কেবল f36f718 বার পুনরাবৃত্তি করে ) লিঙ্কযুক্ত পৃষ্ঠার নীচে চূড়ান্ত অ্যালগরিদমের সাথে সামঞ্জস্য করে:

(D) = (CP) = (CPT8) = [(CPC8)(CPT7)]8 (3,847,762,288,469,010,006,992 moves)

(D) is the Devil's Algorithm. If you apply it to the cube, it will be solved at some point before you have done the algorithm once. As you can see, it is terribly long, nearly a thousand times more moves than there are possible positions.

আমি কীভাবে এটি চালাতে পারি?

আপনি এটি অনলাইনে চেষ্টা করতে পারেন , তবে সেই লিঙ্কটি কার্যকর হয় না। এই অ্যালগরিদম শেষ হওয়ার আগে টিআইও প্রায় স্পষ্টভাবে সময় শেষ করবে (দোভাষীর সর্বাধিক রানটাইম 60 সেকেন্ড)। কিউবটি দ্রবণযোগ্য না হলে, এই অ্যালগরিদমটি কিউবিকালি শেষ হতে 11 মিলিয়ন বছর সময় লাগবে (প্রতি সেকেন্ডে 15.2 মিলিয়ন ডলারে, যা আমার ক্লাউড 9 আইডিই পায়)।

অতিরিক্তভাবে, 3 টি সেক্সটিলিওন মুভগুলি সম্পাদন করতে আপনার প্রচুর স্মৃতি দরকার । কিউবিকভাবে প্রতি সেকেন্ডে প্রায় 4 মিলিয়ন পদক্ষেপগুলি সঞ্চালন করতে পারে, তবে প্রক্রিয়াটি সম্ভবত বেশি পরিমাণে মেমরির কারণে নিহত হবে । এটি 512 এমবি মেমরির সাথে আমার ভিএম এ 15 সেকেন্ড পরে মারা যায়। ইতিমধ্যে বরাদ্দ করা ফ্ল্যাট অ্যারে ব্যয় মেমরির কেন চালনা করা উচিত? একটি মেমরি ফাঁস (বা বিশ) খুঁজে পেয়েছে এবং এটি ঠিক করেছে

এখানে আরও অনেক পাঠযোগ্য সংস্করণ যা একইভাবে আচরণ করে।

তবে আমি সত্যিই দেখতে চাই যে এটি কাজ করে!

এই শয়তানের অ্যালগরিদমে কার্যকর হওয়া প্রথম আসল পদক্ষেপটি হ'ল F2, তাই সমাধানের দ্রুততম ঘনক্ষেত্রটি এর সাথে স্ক্র্যাম্বল হবে F2:

   000
   000
   555
113222133444
113222133444
113222133444
   000
   555
   555

এটি সত্যই টিআইও-তে 0.007 সেকেন্ডের মধ্যে কার্যকর করে

এটি কীভাবে উন্নত করা যায়?

নিশ্চয়ই আরও শয়তানের অ্যালগরিদম রয়েছে; আমি এমন একটি পেয়েছি যা এই চলনগুলির ত্রিশতমের চেয়ে কম ব্যবহার করে। যাইহোক, এটি কয়েক হাজার বাইট (আরও প্রায় 100MB আরও) এবং একাধিক ঘন্টা হ্যামিলটোনীয় একটি সার্কিটকে কিউবিক কোডে রূপান্তর করার জন্য কয়েক হাজার ঘন্টা ব্যয় করে আসবে।

কিছু ফাংশন মুছে ফেলা এবং নীচে লুপে সোজা রেখে দেওয়াও সম্ভব। যাইহোক, কিছু পাঠযোগ্যতার জন্য আমি কিছু বাইট বলিদান করতে যাচ্ছি।

অতিরিক্তভাবে, আমি কিউবিকের লুপিং আচরণের একটি পরিবর্তন বিবেচনা করছি যাতে আমি আরও সহজেই or বা ৮ বার অ্যালগরিদমগুলি পুনরায় করতে পারি (উত্সটিতে 7 বা ৮ বার পুনরাবৃত্তি ফাংশন কলগুলির সাথে কেবল তাদের কোডিংয়ের পরিবর্তে)। অথবা আমি নোটপ্যাড দিয়ে কিছু যাদু নিয়ে কাজ করব এবং আরও লুপগুলি ব্যবহার করে এটি গল্ফ করব।

নোট করুন যে আমি দোভাষীর মধ্যে যথাসম্ভব যে কোনওটিকেই অনুকূলিত করে তুলব, তাই এটি ভবিষ্যতে কোনও কোনও গড় পিসিতে কাজ করতে পারে!


কিউবিকভাবে, 2 বাইট

r▦

আমি উপরের উত্তরটি আরও ভাল পছন্দ করি তাই এটি বিকল্প বিকল্প হিসাবে যুক্ত করছি। এটি কয়েক মিলিয়ন বছরের বিপরীতে এক সেকেন্ডের মধ্যে চলে।

r    read cube from standard in
 ▦   and solve it

কিউব দ্রবণযোগ্য হলে আউটপুট: (কিছুই নয়)
কিউবটি অলসযোগ্য হলে আউটপুট: Error: The cube has reached an unsolvable state.


আমরা পক্ষের অদলবদল হলে এই কাজ করে? উদাহরণস্বরূপ 2 কিউব ডাম্পের 4 এর বিপরীতে, 2 টি 5 এর বিপরীতে এবং 4 0 এর বিপরীতে কাজ করে?
গম উইজার্ড

1
@ হিট উইজার্ড হ্যাঁ এটি করে, প্রতিটি মুখের একটি অনন্য পূর্ণসংখ্য আছে কিনা তা সলভমোড চেক করে এবং যদি সেই পূর্ণসংখ্যার মুখের একমাত্র হয়।
এমডি এক্সএফ

ঠিক যেমন এটি করা উচিত। আপনার বিবরণ থেকে এই ঘটনাটি ছিল কিনা তা জানার জন্য আমি কিউবিকভাবে যথেষ্ট পরিচিত ছিলাম না।
গম উইজার্ড 4

@WheatWizard শুধু নিশ্চিত আমি আপনি সঠিকভাবে বুঝতে মেকিং - এই কি তোমাদের কাছে, যে সঠিক তা উল্লেখ করা হয় (লাইন বরাবর)?
এমডি এক্সএফ

হ্যাঁ। এবং এটি সমাধানযোগ্য হওয়া উচিত।
গম উইজার্ড

4

এপিএল (ডায়ালগ ক্লাসিক) , 190 174 বাইট

{∧/~∊(×1 2 3|+.-⌿↑⊃∘⍋¨¨¨a)({2|≢∪{⍵⌊⍵[⍵]}⍣≡⍵,0}¨⍳⌿↑⌽b)((∪≢∩)¨/b←(⊃∘⍋⌽⊢)¨¨¨a),6≢≢∪⊃⊃a←{c4⍴⊂⍬⋄c[+/1≠i],←(≠/×i←↑⍳33){⊂⌽⍣⍺⊢⍵~' '}¨,⌿(3|∘.+⍨⍳3)⍉⍤¯11 0 1\⍵1c}¨⍵(3 3∘⍴¨1 1∘⌷¨⍵)}

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

আর্গুমেন্টটি 3x3 অক্ষর ম্যাট্রিক্সের একটি 3x2 ম্যাট্রিক্স (সারি 0: সামনের পিছন, সারি 1: বাম ডান, সারি 2: উপরে ডাউন)। দ্রবণীয় রুবিকের কিউবের জন্য 1 প্রদান করে, অন্যথায় 0 0

টিআইও লিঙ্কে, ফাংশন t, যা অক্ষর গণনাতে অন্তর্ভুক্ত নয়, 9 টি লাইন ইনপুট পড়ে, ডিফল্ট ইনপুট ফর্ম্যাট (একটি নেট) থেকে প্রয়োজনীয় 3x2 এক্স 3x3 ম্যাট্রিক্সে রূপান্তর করে, সমাধানটি কল করে এবং ফলাফলটি ঠিক আছে যদি প্রিন্ট করে তবে প্রত্যাশিত হিসাবে হয়।

অ্যালগরিদম প্রদত্ত কিউবকে 26 কিউবিকে বিভক্ত করে - দৈর্ঘ্যের 3 (কোণ), 2 (প্রান্ত) এবং 1 (কেন্দ্র) এর স্ট্রিং। এটি একই central টি কেন্দ্রীয় ঘনক্ষেত্রের সাথে একটি 26 টি ঘনক্ষেত্র সমাধান করে c নিম্নলিখিত মানদণ্ডগুলির সমস্তটি অবশ্যই পূরণ করতে হবে:

  • 6 টি কেন্দ্রের মধ্যে কোনও সদৃশ নেই

  • প্রদত্ত / সমাধান করা কিউবিসের সেটগুলি ঘোরানো পর্যন্ত - যেমন বিবেচনা করুন 'WBR'এবং 'BRW'একই কিউবি, তবে নয়'BWR'

  • উভয় কোণার অনুক্রমের পার্টিশন এবং প্রান্তের অনুমান সমান

  • কোণ ঘূর্ণন সূচকের মডিউল -3 সমষ্টি (যেমন "ক্ষুদ্রতম" চিঠি গ্রহণ Bএকটি রেফারেন্স বিন্দু আমরা আছে যেমন: 'BRW'→0, 'WBR'→1, 'RWB'→2) দেওয়া এবং মীমাংসিত কিউব মধ্যে ম্যাচ; কোণার মডুলো 2 এর জন্য একই

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