(রুবিক্স) পকেট কিউব সমাধান করুন


16

তোমার কাজ

.. ব্রায়ান ফ্যান্টানা দৃশ্যত যা করতে পারেন নি তা করা এবং 2x2x2 রুবিকের কিউব সমাধান করা।

পকেট কিউব - অ্যাঙ্করম্যান

বিন্যাস

- -   A B   - -   - -
- -   C D   - -   - -

E F   G H   I J   K L
M N   O P   Q R   S T

- -   U V   - -   - -
- -   W X   - -   - -

এবং স্ট্যান্ডিন বা কমান্ড লাইনের মাধ্যমে আপনাকে দেওয়া হবে (আপনার পছন্দ - দয়া করে আপনার উত্তরটিতে নির্দিষ্ট করুন) বিন্যাসে:

ABCDEFGHIJKLMNOPQRSTUVWX

নোট করুন যে এডি ইউ-মুখটি তৈরি করে (আপ), ইএফএমএন এল-ফেস (বাম) তৈরি করে, জিএইচপি এফ-মুখ (সামনের) তৈরি করে, আইজেকিউআর আর-মুখ (ডানদিকে) তৈরি করে, কেএলএসটি আপ বি-মুখ (পিছনে) এবং ইউএক্স ডি-ফেস (নীচে) তৈরি করে।

প্রতিটি বর্ণকে উপস্থাপন করে ছয়টি অনন্য অক্ষর থাকবে তবে এগুলি ভিন্ন হতে পারে, সুতরাং প্রতিটি রঙের জন্য 6 টি এসকিআই অক্ষরের কোনও সংমিশ্রনের জন্য প্রস্তুত করুন।

বিশেষ উল্লেখ

  • আপনার কোডটিতে কেবল ডান (আর), উচ্চ (ইউ) এবং সম্মুখ (এফ) মুখ ব্যবহার করে একটি সমাধান আউটপুট করা উচিত এবং মানক চিহ্নটি ব্যবহার করা উচিত: আর, আর ', আর 2, ইউ, ইউ', ইউ 2, এফ, এফ ', এফ 2। আপনি এখানে আরও তথ্য পেতে পারেন । আর ইউ এফ সাবসেটের সীমাবদ্ধতা 2x2 কিউবের জন্য মানক (ইঙ্গিত: নীচের অংশের নীচে-বাম কোণটি থেকে কাজ করার জন্য স্থির বেস হিসাবে বিবেচনা করুন)।
  • আপনার কোডটি পকেট ঘনক্ষেত্রের সমস্ত সম্ভাব্য অনুমতি সমাধানে সক্ষম হতে হবে।
  • প্রতিটি সমাধান সম্পূর্ণ হতে 30 সেকেন্ডেরও কম সময় নেওয়া উচিত।
  • প্রতিটি সমাধান 30 চালের চেয়ে কম হওয়া উচিত।
  • 20 টি পদক্ষেপের চেয়ে কম উত্তর সরবরাহ করার জন্য সমাধানের জন্য -20% এর বোনাস দেওয়া হবে (দয়া করে আপনার উত্তরে এটি বিজ্ঞাপন করুন যাতে আমি এটির জন্য পুরো চেক করতে পারি)
  • কোডের জন্য -50% বোনাস দেওয়া হবে যা সর্বদা অনুকূল সমাধান সরবরাহ করে। - আবার, আপনার উত্তরে বিজ্ঞাপন দিন
  • সমাধানগুলিতে একই মুখের উপর পরপর দুটি চাল চলবে না, কারণ এগুলিকে সহজেই একটি চালনায় একত্রিত করা যায়।
  • সমাধানগুলিতে প্রতিটি পদক্ষেপের মধ্যে বিকল্পভাবে একটি একক স্থান - এবং কেবল একটি একক স্থান থাকতে পারে।
  • সম্পূর্ণ সমাধান ক্রম, যদি প্রয়োজন হয় তবে একটি জুড়ি বন্ধনী, উদ্ধৃতি চিহ্ন, ব্রেস, বন্ধনী বা ক্যারেটের মধ্যে থাকতে পারে তবে অন্য কোনও বহিরাগত আউটপুট অনুমোদিত নয়।
  • দয়া করে আপনার কোডটির একটি সংক্ষেপে মন্তব্য করা সংস্করণ বা আপনার কোডের বিশদ ব্যাখ্যা সরবরাহ করুন।
  • বাহ্যিক ফাইলগুলির ব্যবহার নেই। এর মধ্যে রয়েছে ইন্টারনেট, ডেটা টেবিল এবং এই ধরণের সমস্যার জন্য তৈরি লাইব্রেরি / প্যাকেজগুলি।
  • বাইট গণনা দ্বারা সংক্ষিপ্ততম কোড জয়।
  • বিজয়ী বুধবার (30 জুলাই, 2014) বেছে নিয়েছে।

20
আমাদের কাছে 2x2, এবং 3x3 , এবং 4x4 রয়েছে তবে আমি এখনও আমার চকমকির সুযোগের জন্য 1x1 চ্যালেঞ্জের জন্য অপেক্ষা করছি। আমি একটি নিখুঁত অ্যালগরিদম আছে!
ডুরকনব

এখানে কে-এর একটি 500 ডলার
চরিত্রের

30 সেকেন্ডে এটি ডিজকস্ট্র ব্যবহার করে জোর করে ফেলার জন্য পর্যাপ্ত পরিমাণে হওয়া উচিত: কেবলমাত্র 3674160 অবস্থান রয়েছে।
পিটার টেলর

2
১. আমি ধরে নিই যে আউটপুটটিতে শ্বেত স্পেসে কোনও বিধিনিষেধ নেই 2. ২. উদ্দেশ্য হওয়ার জন্য, আপনাকে "বিচক্ষণ" হিসাবে না রেখে ২০ টি পদক্ষেপের চেয়ে কম সমাধানের বোনাসটি সংজ্ঞায়িত করা উচিত।
স্তর নদী সেন্ট

পছন্দ করেছেন হোয়াইটস্পেসের স্পেসিফিকেশন যুক্ত করেছে। ধন্যবাদ!
কাইল ম্যাককর্মিক

উত্তর:


11

পাইথন 2.7: 544 বাইট -50% = 272 বাইট **

import sys;o=''.join;r=range;a=sys.argv[1];a=o([(' ',x)[x in a[12]+a[19]+a[22]] for x in a]);v={a:''};w={' '*4+(a[12]*2+' '*4+a[19]*2)*2+a[22]*4:''}
m=lambda a,k:o([a[([0x55a5498531bb9ac58d10a98a4788e0,0xbdab49ca307b9ac2916a4a0e608c02,0xbd9109ca233beac5a92233a842b420][k]>>5*i)%32] for i in r(24)])
def z(d,h):
 t={}
 for s in d[0]:
  if s in d[1]:print d[h][s]+d[1-h][s];exit()
  n=[d[0][s],'']
  for k in r(3):
   for j in r(3):s=m(s,k);t[s]=n[h]+'RUF'[k]+" 2'"[(j,2-j)[h]]+n[1-h]
   s=m(s,k)
 d[0]=t;return d
while 1:v,w=z([v,w],0);w,v=z([w,v],1)

স্ট্যাকেক্সচেঞ্জ একাধিক সাদা স্থানের সাথে ট্যাবগুলিকে প্রতিস্থাপন করে। প্রযুক্তিগত এই সংস্করণে 549 বাইট রয়েছে। কেবলমাত্র একটি ট্যাবুলেটর দিয়ে 6-10 রেখায় প্রথম দুটি স্পেস প্রতিস্থাপন করুন।

আমার প্রোগ্রামের পিছনে আইডিয়া: আমার প্রথম ধারণাটি ছিল প্রথম শ্বাসকষ্ট। তবে এটি খুব দীর্ঘ সময় নিয়েছে। প্রায় 2 মিনিটের জন্য কঠোর (11 টি সরানো অনুকূল) স্ক্র্যাম্বেলের জন্য। তাই আমি উভয় পক্ষ থেকেই সমস্যাটির কাছে যাওয়ার সিদ্ধান্ত নিয়েছি। আমি দুটি সেট ব্যবহার করি। আমি যথাক্রমে 1,2,3 দূরত্ব সহ সমস্ত রাজ্যগুলি ... স্ক্র্যাবল করতে ও সেট 1 এ সংরক্ষণ করি এবং একই সময়ে 1,2,3 দূরত্ব সহ সমস্ত রাজ্য ... সমাধানযোগ্য অবস্থানে রেখে সেগুলি সংরক্ষণ করি সেট 2 এ। কোনও রাষ্ট্র উভয় সেটে প্রথমবারের মতো সমাধান পেয়েছিল।

এর জন্য আমার সমাধান হওয়া কিউবের রঙগুলি দরকার, যা জানা নেই। 13, 20 এবং 23 অক্ষর বাম, পিছনে এবং নীচের বর্ণটি সংজ্ঞায়িত করে। তবে এই 3 টি রঙ কিউব উপস্থাপনের জন্য যথেষ্ট। আমি কেবল অন্য 3 টি বর্ণ সাদা রঙের সাথে প্রতিস্থাপন করেছি এবং আমি আমার _______LLbbll____dddd হিসাবে সমাধান হওয়া অবস্থার প্রতিনিধিত্ব করতে পারি।

ওহ, এবং অনুমতিগুলি সংক্ষিপ্ত করার জন্য আমি /codegolf//a/34651/29577 থেকে একটি ধারণা ব্যবহার করেছি

অবরুদ্ধ সংস্করণ:

import sys

#define permutations for R,U,F
permutation = [[0,7,2,15,4,5,6,21,16,8,3,11,12,13,14,23,17,9,1,19,20,18,22,10],
            [2,0,3,1,6,7,8,9,10,11,4,5,12,13,14,15,16,17,18,19,20,21,22,23],
            [0,1,13,5,4,20,14,6,2,9,10,11,12,21,15,7,3,17,18,19,16,8,22,23]]

def applyMove(state, move):
    return ''.join([state[i] for i in permutation[move]])

scramble = sys.argv[1]
#remove up,front,rigth colors
scramble = ''.join([(' ', x)[x in scramble[12]+scramble[19]+scramble[22]] for x in scramble])
solved = ' '*4+scramble[12]*2+' '*4+scramble[19]*2+scramble[12]*2+' '*4+scramble[19]*2+scramble[22]*4

dict1 = {scramble: ''} #stores states with dist 0,1,2,... from the scramble
dict2 = {solved: ''} #stores states with dist 0,1,2,... from the solved state

moveName = 'RUF'
turnName = " 2'"

for i in range(6):
    tmp = {}
    for state in dict1:
        if state in dict2:
            #solution found
            print dict1[state] + dict2[state]
            exit()
        moveString = dict1[state]
        #do all 9 moves
        for move in range(3):
            for turn in range(3):
                state = applyMove(state, move)
                tmp[state] = moveString + moveName[move] + turnName[turn]
            state = applyMove(state, move)
    dict1 = tmp
    tmp = {}
    for state in dict2:
        if state in dict1:
            #solution found
            print dict1[state] + dict2[state]
            exit()
        moveString = dict2[state]
        #do all 9 moves
        for move in range(3):
            for turn in range(3):
                state = applyMove(state, move)
                tmp[state] = moveName[move] + turnName[2 - turn] + moveString
            state = applyMove(state, move)
    dict2 = tmp

ফলাফলটি নিয়ে আমি বেশ খুশি, কারণ পাইথনের কাছে আমি বেশ নতুন। এটি আমার প্রথম অজগর প্রোগ্রামগুলির মধ্যে একটি।

সম্পাদনা করুন: অর্ধ বছর পরে: 427 - 50% = 213.5

পাইথনে এবং গল্ফের ক্ষেত্রে আরও কিছুটা অভিজ্ঞতা পেয়েছি। সুতরাং আমি আমার মূল কোডটি সংশোধন করেছি এবং 100 টিরও বেশি অক্ষর সংরক্ষণ করতে পারি।

import sys;o=''.join;a=sys.argv[1];d=[{o((' ',x)[x in a[12]+a[19]+a[22]]for x in a):[]},{' '*4+(a[12]*2+' '*4+a[19]*2)*2+a[22]*4:[]}]
for h in[0,1]*6:
 for s,x in d[h].items():
  for y in range(12):
   d[h][s]=x+[y-[1,-1,1,3][h*y%4]];
   if s in d[1-h]:print o('RUF'[x/4]+" 2'"[x%4]for x in d[0][s]+d[1][s][::-1]);exit()
   s=o(s[ord(c)-97]for c in'acahabcdnpbfegefhugiovjgqkciljdeklflmmmnnvoopxphrqdjrrbsstttuuqsviwwwkxx'[y/4::3])

আমি মূলত ঠিক একই পন্থা ব্যবহার করি। সবচেয়ে বড় পরিবর্তনটি হ'ল, আমি আর কোনও ফাংশন সংজ্ঞায়িত করি না। পরিবর্তে

def z(d,h):
 for s in d[0]:
  if s in d[1]:...
while 1:v,w=z([v,w],0);w,v=z([w,v],1)

আমি করতে পারি

for h in[0,1]*6:
 for s in d[h]:
  if s in d[1-h]:...

এছাড়াও আমি কিছুটা মুভ লামদা পরিবর্তন করেছি। প্রথমে সংক্ষিপ্ত করুন এবং তারপরে কোডটি সরাসরি সংহত করলেন, যেহেতু ফাংশন কলটি কেবল একবার উপস্থিত হয়।

আমি প্রতিটি রাজ্যের জন্য 0 এবং 11 এর মধ্যে সংখ্যার একটি তালিকা রাখি, চালগুলি যুক্ত স্ট্রিংয়ের পরিবর্তে চালগুলি উপস্থাপন করতে। সংখ্যাগুলি খুব শেষে রূপান্তরিত হয়।

এছাড়াও আমি দুটি জন্য লুপ 'for k in r(3):for j in r(3):এক এক করে for y in r(12)। অতএব আমাকে চালগুলিও করতে হবে U4, R4, F4। অবশ্যই এই ধরনের পদক্ষেপটি সংক্ষিপ্ততম সমাধানে উপস্থিত হয় না, তাই " 2'"[x%4]কাজ করে। (যদি x % 4 == 3, সীমার ব্যতিক্রমের বাইরে কোনও সূচি থাকে)

এটিও খানিকটা দ্রুত, যেহেতু আমি আগে দ্বিতীয় সেটটিতে প্রবেশের সন্ধান করি। 11 টি সরানোর সমাধানের জন্য প্রায় 0.5 সেকেন্ড।


2
দ্বি নির্দেশমূলক বিএফএস ব্যবহারের জন্য উত্সাহিত - আমার প্রিয় অনুসন্ধান অ্যালগরিদম (আইডিএ * এর পাশেই)। যদি সময় অনুমতি দেয় তবে আমি এটি অনুকূলতার জন্য কয়েক ঘন্টার মধ্যে পরীক্ষা করব। এছাড়াও, আমি বুঝতে পারি না ধাঁধাটি সমাধান করার জন্য আপনার সত্যিই ইউ / আর / এফ রঙের দরকার নেই। সুন্দরভাবে সম্পন্ন!
কাইল ম্যাককর্মিক

সঠিকতা এবং অনুকূলতার জন্য আমার 20 টি পরীক্ষার কেস পাস করেছে।
কাইল ম্যাককর্মিক 21

খুব সুন্দর .. 24 বছরেরও বেশি দ্রুত বাস্তবায়নের জন্য আমাকে সহায়তা করেছে!
জেএস-এ

আসলে '____ll____bbll____dddd' হওয়া উচিত '____ll____bbll____bbdddd'
RE60K

7

সি, 366 - 50% অনুকূল বোনাস = 183

char c[99],t[3][26]={"ZGONFZCPTEZBHUMZ","ZIQPHZRUGAZJWOCZ","ZACB@ZJHFDZKIGEZ"};r=20;f(int m,int n){int e,i,j;for(i=4;i--;){for(j=15;j--;)c[t[n][j+1]]=c[t[n][j]];c[m]="FRU"[n],c[m+1]="4'2 "[i],c[m+2]=0;for(e=0,j=68;j<76;j++) e+= (c[j]!=c[j+8]) + (c[j]!=c[j^1]);i&&e&&e<45-m*2&m<r?f(m+2,(n+1)%3),f(m+2,(n+2)%3):e||(puts(c),r=m);}}main(){scanf("%s",c+64);f(0,2),f(0,1),f(0,0);}

পুনরাবৃত্তি ব্যবহার করে, প্রোগ্রামটি 11 টি পর্যন্ত গভীরে গাছের মধ্যে অনুসন্ধান করে ( নীচে উল্লিখিত পৃষ্ঠায় http://en.wikedia.org/wiki/Pocket_Cube এবং সর্বোত্তম দ্রাবনের সর্বাধিক দৈর্ঘ্য ) এবং যখন এটি সমাধান খুঁজে পায় এটি মুদ্রণ করে (ফাংশন আর্গুমেন্ট দ্বারা ট্র্যাকড 22 অক্ষর পর্যন্ত লম্বা m) ব্যবহৃত অর্ডারটি এক ধরণের অভিধানের অর্ডার, যেখানে ইউ, ইউ 2, ইউ 'প্রার্থনা করা সমস্ত রুট আর বা এফ শুরু হওয়ার আগে কোনও রুট অনুসন্ধান করার আগে অনুসন্ধান করা হয়। সুতরাং এটি প্রথমে সর্বোত্তম সমাধানটি সন্ধান করবে না।

যখন কোনও সমাধান মুদ্রিত হয়, rসমান করা হয় mযা নিশ্চিত করে যে কেবল সমান বা সংক্ষিপ্ত সমাধানগুলি পরে মুদ্রিত হবে। রাখার r=m-2জন্য অতিরিক্ত 2 টি অক্ষর ব্যয় হয় তবে প্রাপ্ত প্রতিটি দৈর্ঘ্যের কেবলমাত্র একটি সমাধান (নীচে অনুকূল থেকে) মুদ্রণযোগ্য তা নিশ্চিত করে। আপনি যদি এটি কেবলমাত্র সর্বোত্তম সমাধানটি দেখতে চান তবে এখনও অবধি পাওয়া সেরা সমাধানটি অবশ্যই একটি চলকটিতে সংরক্ষণ করতে হবে এবং প্রোগ্রামের শেষে মুদ্রিত অনুকূল সমাধানটি (এটির জন্য অতিরিক্ত 15 টি অক্ষর লাগবে))

ইনপুটটি c[]সূচী index৪ থেকে আরেতে পড়ে। চলনযোগ্যটিতে বর্ণমালা অক্ষর ব্যবহার করার জন্য এটি প্রয়োজনীয় is প্রতীক @মাধ্যমে W, প্রশ্ন প্রতি এক্স মাধ্যমে একটি পরিবর্তে ব্যবহার করা হয় কারণ এটি একটি জোড় সংখ্যা থেকে শুরু সমাধান কাজের জন্য পরীক্ষা করা করা প্রয়োজন। c['Z']অস্থায়ী সঞ্চয়স্থানের জন্যও ব্যবহৃত হয়, কারণ 4-ঘূর্ণন সঞ্চালনের জন্য মোট 5 কার্যাদি প্রয়োজন। যেহেতু প্রথম অংশটি c[]অব্যবহৃত, এটি সমাধান সংরক্ষণের জন্য উপলব্ধ (যা সমস্ত সি স্ট্রিংয়ের মতো শূন্য বাইট দ্বারা সমাপ্ত হয়))

for(i..)দ্বারা বর্ণিত মুখের চতুর্থাংশের একটি ক্রম দিয়ে যায় n

প্রথমটি for(j..)টেবিল অনুযায়ী প্রকৃত অদলবদল সম্পাদন করে t[]

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

দ্বিতীয়টি for(j..)চার পাশের মুখের মিলগুলির সংখ্যা গণনা করে। সামনের মুখের উদাহরণস্বরূপ এটি জি ও ও, এইচ এবং পি এবং জি অ্যান্ড (দ্বিগুণ) তুলনা করে যদি e== 0, ঘনকটি সমাধান হয়ে যায়। যদি e<9 বা e<13, পরবর্তী এক পদক্ষেপে যথাক্রমে 2 টি পদক্ষেপে কিউব সমাধান করা সম্ভব। অন্যথায় এই সংখ্যাটি মুভিতে কিউবটি সমাধান করা অবশ্যই সম্ভব নয়। সময় সাশ্রয়ের জন্য, এই হিউরিস্টিকটি অনুসন্ধান গাছকে ছাঁটাই করতে ব্যবহার করা হয় এবং 10 বা 11 গভীরতার এমন অনেক শাখায় সময় নষ্ট করা এড়ায় যা ব্যর্থ হবে। সূত্র হিসাবে প্রকাশিত, এটি হয়ে যায় e<45-m*2

অবহেলিত কোড

char c[99],t[3][26]={"ZGONFZCPTEZBHUMZ","ZIQPHZRUGAZJWOCZ","ZACB@ZJHFDZKIGEZ"};
r=20;                                                       //All moves are output as 2 characters. The index of the last move of the longest solution (11 moves) shall be 20.

f(int m,int n){                                             //perform a cycle through four 1/4 turns of the face specified in n. The index of the move reported in the solution is m.
  int e,i,j;                                                //e is for counting mismatches. i loops through the four 1/4 turns. j performs other functions.
  for(i=4;i--;){

    for(j=15;j--;)c[t[n][j+1]]=c[t[n][j]];                  //A 1/4 turn is performed as three 4-sticker rotations of the type z=a;a=b;b=c;c=d;d=z using the data in the movetable t[][]

    c[m]="FRU"[n],c[m+1]="4'2 "[i],c[m+2]=0;                //Write to the output in c[] the face to be turned and the number of 1/4 turns. Terminate with a zero byte to overwrite any longer solution that may have been found before. 

    for(e=0,j=68;j<76;j++)e+=(c[j]!=c[j+8])+(c[j]!=c[j^1]); //Compare each sticker of the top row of the side faces (64+4 through 64+11) with the stickers below and beside it. Count the number of mismatches.

    i && e && e<45-m*2 & m<r?                               //if the number of 1/4turns is not 4 AND the cube is not solved AND the heuristic (as described in the text) is good AND a shorter solution has not already been found,
      f(m+2,(n+1)%3), f(m+2,(n+2)%3):                       //deepen the search to another faceturn of the other two faces. 
      e||(puts(c),r=m);                                     //otherwise, if a solution has been found, print the solution and reduce the value of r to the new max solution length.
  } 
}

main(){
  scanf("%s",c+64);                                         //scan in the current cube state to c[] at index 64.
  f(0,2),f(0,1),f(0,0);                                     //call f() three times to search for solutions beginning with U R and F.
}

কর্মক্ষমতা

প্রোগ্রামটি http://www.jaapsch.net/pouts/cube2.htm তে 1 থেকে 13 নিদর্শনগুলির সাথে পরীক্ষা করা হয়েছিল

নীচে ফলাফলগুলি সমস্ত অনুকূল সমাধান (কৌতূহলী-মনের জন্য।) অনুসন্ধানের জন্য আমার মেশিনে সময় দেওয়ার সুযোগ দেয় এবং আরও জটিল পজিশনের জন্য, উপরে উল্লিখিত 2 বাইট পরিবর্তনের জন্য সময় দেওয়া হয় যা কেবলমাত্র একটি অনুকূল সমাধান খুঁজে পায়। এই সময়গুলির জন্য প্রথম সমাধান এবং প্রোগ্রামটি সমাপ্ত করার জন্য উভয়ই দেওয়া হয়। প্রদত্ত সমাধানগুলি (যা সাধারণত লিঙ্কযুক্ত পৃষ্ঠায় জেনারেটরগুলি বিপরীত করে সমাধানগুলির থেকে পৃথক হয়) একটি অনলাইন কিউব সিমুলেটর দিয়ে যাচাই করা হয়েছে।

U 4 (1 move) horizontal flags (not mirror symmetric)
1 solution 1 sec

U2 (1 move) 4 horizontal flags (mirror symmetric)
1 solution 1 sec

F2 R2 F2 (3 moves) 4 vertical flags  
UUUULRBFRLFBLRBFRLFBDDDD 2 solutions 1 sec

U2 F2 R2 U2 (4 moves) Supertwist; 6 flags
DDUURRBFRRFBLLBFLLFBUUDD 3 solutions 1 sec

U F2 U2 R2 U (5 moves) 4 vertical flags, 2 checkerboards
UDDULBRFRFLBLBRFRFLBUDDU 2 solutions 1 sec

R2 F2 R2 U2 (4 moves) 4 checkerboards
UUUURLFBLRBFLRBFRLFBDDDD 4 solutions 1 sec

R U2 R' F2 R U' R2 U F2 U' (10 moves) Cube in cube
FFFUDDRFRULLLDRRUULBBBDB 18 solutions 26 sec; 1 solution U F2U'R2U R'F2R U2R' 1,13 sec 

R F U' R2 U F' R U F2 R2 (10 moves) Cube in cube 2
DDDUFFLFRBRRLFLLBBRBUUDU 8 solutions 28 sec; 1 solution R F U'R2U F'R U F2R2 12,21 sec 

U R F2 U R F2 R U F' R (10 moves)3-Cycle
UFFULDRFRULBLLFRURBBDBDD 45 solutions 26 sec; 1 solution U R'F U'F'R'F2U R F2 8,14 sec 

U R U' R2 U' R' F' U F2 R F' (11 moves) Column turn
UUUDLLFRFRBBLLFRFRBBDUDD many solutions 29 sec; 1 solution U R U'F U2R F'R'F'U2F' 3,27 sec 

F' U R' F2 U' R F U R2 U R' (11 moves)Corner swap
UUUURLFBLRBFLLFFRRBBDDDD 29 sec 24 solutions; 1 solution R U'F R U'R2U'F'R'U F2 12,28 sec

U F2 U' (3 moves) Zig-zag 
UDUDLLFRFFLBLBRRFRBBUUDD 1 solution 1 sec 

U' F2 U2 R2 U' F2 U2 R2 U' (9 moves) 2 Checkerboards, 4 L
DUUDLLFBRRBFLRFFRLBBUDDU 8 solutions 13 sec; 1 solution U F2U2R2U R2U2F2U' 1,5 sec

ভাল লাগছে। আমি এখানে একটি ঘনিষ্ঠ প্রতিযোগিতা দেখতে চাই।
কাইল ম্যাককর্মিক

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

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