আমরা আমাদের অদ্ভুত ধাঁধা, আমাদের ব্রিটস ভালবাসি


16

কয়েকটি ব্রিটিশ পত্রিকায় হিডাতো নামে পরিচিত একটি খেলা রয়েছে । এটি কিছুটা একই সাথে সুডোকুর মতো , যদিও এটি একটি লাইন এবং ব্লকটিতে 1-9 না রেখে, এটি সংখ্যার স্থান স্থাপনের বিষয়ে যাতে তারা 01সমস্ত দিক থেকে উচ্চতম পর্যন্ত ক্রমানুসারে সংযুক্ত থাকে , সুতরাং তারা সমস্তগুলি অনুভূমিকভাবে, তির্যকভাবে বা উল্লম্বভাবে স্পর্শ করছে ।

ইনপুটগুলিতে পৃথক পৃথক একাধিক রেখাগুলি থাকবে \n, যাতে কোনও স্থান দ্বারা পৃথকীকৃত ব্লক থাকবে, যা আপনি দুটি অক্ষর প্রশস্ত বলে ধরে নিতে পারেন। প্রতিটি ব্লক একটি নম্বর হবে, একটি ফাঁকা স্থান পূরণ করতে হবে (দ্বারা নির্দেশিত --), বা এমন একটি প্রাচীর যাতে নম্বর ( XX) এ থাকতে পারে না ।

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

একটি স্ট্যান্ডার্ড শিরোনাম ব্যবহার করুন Language: XX bytes। শুভ গল্ফিং!

উদাহরণ

ইনপুট 01 XX 03, 01 -- 04, 01 --, ইত্যাদি সব রিটার্ন কিছু করা উচিত falsey ।

ইনপুট:

01 -- --
-- XX 05

আউটপুট:

01 03 04
02 XX 05

ইনপুট:

-- 33 35 -- -- XX XX XX    
-- -- 24 22 -- XX XX XX      
-- -- -- 21 -- -- XX XX
-- 26 -- 13 40 11 XX XX
27 -- -- -- 09 -- 01 XX
XX XX -- -- 18 -- -- XX
XX XX XX XX -- 07 -- --
XX XX XX XX XX XX 05 --

আউটপুট:

32 33 35 36 37 XX XX XX
31 34 24 22 38 XX XX XX
30 25 23 21 12 39 XX XX
29 26 20 13 40 11 XX XX
27 28 14 19 09 10 01 XX
XX XX 15 16 18 08 02 XX
XX XX XX XX 17 07 06 03
XX XX XX XX XX XX 05 04

ইনপুট:

XX XX XX XX -- 53 XX XX XX XX
XX XX XX XX -- -- XX XX XX XX
XX XX 56 -- -- -- 30 -- XX XX
XX XX -- -- -- -- -- -- XX XX
XX -- -- 20 22 -- -- -- -- XX
XX 13 -- 23 47 -- 41 -- 34 XX
-- -- 11 18 -- -- -- 42 35 37
-- -- -- -- 05 03 01 -- -- --
XX XX XX XX -- -- XX XX XX XX
XX XX XX XX 07 -- XX XX XX XX

আউটপুট:

XX XX XX XX 52 53 XX XX XX XX
XX XX XX XX 54 51 XX XX XX XX
XX XX 56 55 28 50 30 31 XX XX
XX XX 26 27 21 29 49 32 XX XX
XX 25 24 20 22 48 45 44 33 XX
XX 13 19 23 47 46 41 43 34 XX
14 12 11 18 04 02 40 42 35 37
15 16 17 10 05 03 01 39 38 36
XX XX XX XX 09 06 XX XX XX XX
XX XX XX XX 07 08 XX XX XX XX

নিশ্চিত হয়েছি যে আমি বুঝতে পেরেছি: কিছু হাঁটার অযোগ্য কোষগুলির সাথে গ্রিড দেওয়া, একটি হ্যামিলটোনীয় পথ খুঁজে নিন যা পূর্বনির্ধারিত কোষগুলির সাথে খাপ খায়?
— Geobits

নিবন্ধন করুন দেখতে দেখতে খুব জটিল। (অবশ্যই, এটি এমন একজন ব্যক্তির কাছ থেকে আসছে যা ফটো সম্পাদনা ঘৃণা করে)) এখানে অন্য কারও সম্পর্কে জানা ভাল লাগল যার লোগো হিসাবে ভিজি চরিত্র রয়েছে। : ও
— kirbyfan64sos

উদাহরণস্বরূপ আমরা কি কোনও সমাধান দেখতে পাচ্ছি? আরও উদাহরণগুলি সহায়ক হতে চলেছে।
— কেড

উজ্জ্বল :)। আপনার পরে জেনারেটরের চ্যালেঞ্জও থাকতে পারে
— বিটা ডেক

3
ইনপুট পদ্ধতি কি সরল করা যায়? হতে পারে একটি 2D অ্যারে ব্যবহার করে পূর্ণসংখ্যার, এবং -1একটি প্রাচীর 0হতে পারে , এবং খালি হতে পারে? এটি ধাঁধাটির আসল চ্যালেঞ্জের দিকে মনোনিবেশ করা আরও সহজ করে তুলবে এবং তারপরে শূন্য বা পার্সিংয়ের স্ট্রিংগুলির সাথে সংখ্যাগুলি প্যাডিংয়ের জটিলতা নেই।
— mbomb007

উত্তর:


1

জাভাস্ক্রিপ্ট (নোড.জেএস) , 482 বাইট

এটি একটি নিষ্ঠুর শক্তি সমাধান, এটি 01প্রতিবেশী সেলটি খালি কোষগুলি ( --) বা পছন্দসই সংখ্যার জন্য পরীক্ষা করে এবং সমাপ্তি বা অসম্ভবের পথে অনুসরণ করে এবং এটি পরীক্ষা করে । যদি পছন্দসই সংখ্যাটি বিদ্যমান থাকে এবং প্রতিবেশী না হয় তবে এটি এই সমাধানটি শর্টকাট করে। বৃহত্তম গ্রিডের জন্য কয়েক সেকেন্ড সময় নেয়।

এটি সম্ভবত আকর্ষণীয় নয়, তবে আমি ভেবেছিলাম রোজটা কোডের সাথে যুক্ত উত্তরগুলি দেখার আগে সমাধান করার জন্য আমি নিজের হাতটি চেষ্টা করব এবং কিছুটা কঠিন চ্যালেঞ্জ মোকাবেলায় আমি উপভোগ করেছি!

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

f=a=>{F=(D,n,j)=>[Z=[].concat(...D),z=Z.indexOf(j),z>-1&&[x=z%w,y=z/w|0],z>-1&&[[x-1,y-1],[x,y-1],[x+1,y-1],[x-1,y],[x+1,y],[x-1,y+1],[x,y+1],[x+1,y+1]]][n];C=q=>q.map(Q=>Q.slice());w=a[0][L='length'];l=F(a,0).filter(c=>c!='XX')[L];R=[];r=(s,d)=>{let n=`0${+s+1}`.slice(-2);N=F(d,2,n);n>l?R.push(C(d)):~F(d,1,s)?(p=F(d,3,s),p.filter(P=>P==N+'')[L]?r(n,C(d)):!~F(d,1,n)?p.map(I=>{[x,y]=I,(x<0||x>w-1||y<0||y>d[L]-1)||d[y][x]=='--'&&(D=C(d),r(D[y][x]=n,D))}):0):0};r('01',a);return R}

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

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