সবচেয়ে স্বীকৃত সহচরী ধাঁধা হয় পনের ধাঁধা । এটিতে 4 বাই 4 গ্রিড, 15 টি টাইলস এবং একটি খালি গ্রিড স্পেস রয়েছে। টাইলস কেবল খালি জায়গায় যেতে পারে এবং সর্বদা গ্রিডের সাথে সামঞ্জস্য থাকতে হবে।
আসুন একটি দ্বি-মাত্রিক হিসাবে একটি সাধারণ সহচরী ধাঁধা সংজ্ঞায়িত ডব্লিউ ওয়াইড দ্বারা এইচ উচ্চ গ্রিড ( ওয়াট , এইচ উভয় ধনাত্মক পূর্ণসংখ্যা) যে কিছু সংখ্যা উপস্থিত রয়েছে অভিন্ন অচিহ্নিত টাইলস (0 মধ্যে ওয়াট × এইচ তাদের) গ্রিড, সাজানো করার snapped যে কোনও উপায়ে (ওভারল্যাপিং ছাড়াই) খালি গ্রিড জায়গাগুলি দিয়ে বাকি অঞ্চলটি পূরণ করুন।
উদাহরণস্বরূপ, যদি ডাব্লু এবং এইচ 3 হয় এবং একটি টাইল হয় T
এবং একটি খালি স্থান E
সম্ভাব্য সাইডিং ধাঁধা বিন্যাসগুলির মধ্যে একটি
TTT
TET
EET
এই ধাঁধাগুলির জন্য 4 টি সম্ভাব্য পদক্ষেপ রয়েছে: সমস্ত কিছু উপরে টানুন, সমস্ত কিছু নীচে নামান , সমস্ত কিছু বামদিকে নিক্ষেপ করুন বা সমস্ত কিছু ডানদিকে সরান । কোনও দিক দিয়ে 'শোভিং' সমস্ত টাইলগুলি অন্য টাইল বা গ্রিডের সীমানায় আঘাত না করা পর্যন্ত যতদূর সম্ভব সেদিকেই যাত্রা করে। কখনও কখনও ঝাঁকুনির ফলে গ্রিডের বিন্যাস পরিবর্তন হবে না,
উদাহরণস্বরূপ গ্রিডটি যদি সরানো থাকে তবে ফলাফলটি হয়
TTT
ETT
EET
বাম ফলাফল বামে
TTT
TTE
TEE
ফলাফলটি নীচে দেখানো হয়েছে
EET
TET
TTT
(লক্ষ্য করুন যে বামদিকের উভয়ই T
সরানো হয়েছে)
এই ক্ষেত্রে গ্রিড লেআউট পরিবর্তন করে না oving
নোট করুন যেহেতু টাইলগুলি অবিচ্ছেদ্য কারণ এই ধাঁধাগুলির 'সমাধান' অবস্থা নেই। এছাড়াও নোট করুন যে কোনও ধাঁধাটি এমন লেআউটে শুরু হতে পারে যা একবার ঝাঁকুনির পরে তৈরি করা অসম্ভব (উদাহরণস্বরূপ 3 বাই 3 গ্রিডের মাঝখানে একটি টালি)।
চ্যালেঞ্জ
কেবল প্রিন্টযোগ্য এএসসিআইআই ব্যবহার করে কোডের দুটি আয়তক্ষেত্রাকার ব্লক লিখুন, উভয় এম অক্ষর প্রশস্ত এবং এন অক্ষর লম্বা হয় (কোনও ধনাত্মক পূর্ণসংখ্যার জন্য এম , এন )। একটি কোড ব্লক একটি স্লাইডিং ধাঁধা একটি টাইল প্রতিনিধিত্ব করবে, অন্য কোড ব্লক একটি খালি গ্রিড স্থান প্রতিনিধিত্ব করবে।
এই দুটি কোড ব্লককে এইচ গ্রিড দ্বারা ডাব্লু-তে সংযুক্ত করে একটি কোড-উপস্থাপিত স্লাইডিং ধাঁধা তৈরি করবে যা একটি পাঠ্য ফাইল হিসাবে সংরক্ষণ করা যায় এবং একটি সাধারণ প্রোগ্রাম হিসাবে চালানো যায়। রান করার সময়, এই জাতীয় প্রোগ্রামগুলির স্ট্যান্ডিনের মাধ্যমে ব্যবহারকারীকে 1 থেকে 4 পর্যন্ত সংখ্যার জন্য অনুরোধ করা উচিত; 1 আপের জন্য, 2 টি ডাউন, 3 বাম, 4 ডান । যখন ব্যবহারকারী তাদের সংখ্যায় টাইপ করে এবং হিট প্রবেশ করে, প্রোগ্রাম গণনা করে কীভাবে তার উত্স কোড টাইলগুলি সেই দিকের দিকে চালিত করা যায় এবং কোনও ফাইলে নতুন ধাঁধা বিন্যাস সংরক্ষণ করে (হয় কোনও নতুন ফাইল বা একই ফাইলে), তারপরে সমাপ্ত হয়।
এই প্রক্রিয়াকে প্রতিটি শ্যাওয়ের পরে উত্পন্ন নতুন স্লাইডিং ধাঁধা কোড ফাইলের সাথে অনির্দিষ্টকালের জন্য পুনরাবৃত্তি করা যেতে পারে।
উদাহরণ
ধরুন আমার টাইল কোড ব্লকটি এরকম দেখাচ্ছে
// my
// tile
এবং আমার খালি গ্রিড স্পেস কোড ব্লকটি দেখতে এমন দেখাচ্ছে
//empty
//space
( এম = 7, এন = 2, এটি অবশ্যই আসল কোড নয়)
এই দুটি ব্লকের যে কোনও বৈধ স্লাইডিং ধাঁধা বিন্যাসের জন্য আমি যে ভাষাটি ব্যবহার করছি তাতে কোনও প্রোগ্রাম তৈরি করা উচিত যা ব্যবহারকারীর কিছু দিক যেতে পারে।
উদাহরণ গ্রিডের কোড উপস্থাপনাটি হ'ল:
// my// my// my
// tile// tile// tile
// my//empty// my
// tile//space// tile
//empty//empty// my
//space//space// tile
সুতরাং এটি চালানো এবং 2 টি চাপুন (নিচে) তারপরে এন্টারটি এটি অন্য কোনও ফাইলে (বা একই ফাইলটিতে) লিখতে পারে:
//empty//empty// my
//space//space// tile
// my//empty// my
// tile//space// tile
// my// my// my
// tile// tile// tile
সেই ফাইলটি তখন একই পদ্ধতিতে চালানো এবং শ্যাভড করা যায়।
মন্তব্য
এইচ স্লাইডিং ধাঁধা দ্বারা ডাব্লু এর যে কোনও কোড-উপস্থাপনা চালানো যায় এবং সঠিকভাবে নিজেকে সরিয়ে দিতে সক্ষম হওয়া উচিত। এর মধ্যে 1 টি 1 থেকে কিছু যুক্তিসঙ্গত সর্বোচ্চ (2 16 বাই 2 16 বা ততোধিক) পর্যন্ত সমস্ত গ্রিড মাপ অন্তর্ভুক্ত রয়েছে ।
একটি প্রোগ্রাম তার নিজস্ব উত্স কোড পড়তে পারে । এখানে কোন কুইন-ভিত্তিক বিধিনিষেধ নেই। যে কোনও ধরণের মন্তব্যগুলিও ঠিক আছে।
কোনও টাইল নাড়াচাড়া করার জন্য বা কোনও টাইল নাড়াচাড়া করা না গেলেও প্রোগ্রামটি অবশ্যই দিকনির্দেশের জন্য অনুরোধ করবে। প্রম্পটটি কেবল একটি সংখ্যায় টাইপ করার জায়গা, কোনও বার্তা প্রয়োজন হয় না।
আপনি ধরে নিতে পারেন ইনপুটটি সর্বদা বৈধ (1, 2, 3, বা 4)।
স্পেস সহ আপনার কোড ব্লকে প্যাড করা ভাল is মনে রাখবেন যে এগুলি কেবল প্রিন্টযোগ্য এএসসিআইআই হতে পারে, এর অর্থ কোনও ট্যাব এবং কোনও নিউলাইন নয় (কোডগুলি ব্লকগুলিকে গঠনে সহায়তা করে এমন নিউলাইনগুলি ছাড়াও)।
যদি আপনার ভাষা স্ট্যান্ডিনকে সমর্থন না করে তবে ইনপুট পদ্ধতিটি নিকটতম বলে মনে হয় use
আপনার কোড-ধাঁধা ফাইলগুলির শেষে একটি নতুন লাইন থাকা দরকার। (বা এটি প্রয়োজন নেই যে প্রয়োজন।)
আপনি নতুন ফাইলগুলির নাম কীভাবে রাখবেন তা গুরুত্বপূর্ণ নয়।
f.txt
বা ঠিক আছেf
।দুটি কোড ব্লক একরকম নাও হতে পারে।
স্কোরিং
লক্ষ্যটি হ'ল ক্ষুদ্রতম কোড আকারের সাথে এটি করা (যার কারণে এটি কোড-গল্ফ ট্যাগ করা হয়)। ক্ষুদ্রতম কোড ব্লক অঞ্চল ( এম × এন ) সহ জমাটি বিজয়ী। টাই-ব্রেকার সর্বাধিক ভোট দেওয়া উত্তরের দিকে যায়।
সম্পর্কিত: কোড যা নিজের উপর গেম অফ লাইফ চালায়
f.txt
? হ্যাঁ.