জেব্রা পাজল একটি বিখ্যাত লজিক পাজল, যেখানে পাঁচটি বাড়ি থাকে এবং প্রতিটি বাড়ি আলাদা রঙে আঁকা। বাড়িগুলোর বাসিন্দারাও আলাদা: তাঁদের জাতীয়তা আলাদা, পোষা প্রাণী আলাদা, পানীয় আলাদা এবং শখও আলাদা।
পাজলটি সমাধান করতে আপনাকে সাহায্য করার জন্য ১৫টি বিবৃতি দেওয়া হয়েছে, যেগুলো সমাধানটি বর্ণনা করে। তবে কেবল সবগুলো বিবৃতির তথ্য একসাথে মিলিয়েই আপনি পাজলটির সমাধান খুঁজে পাবেন।
জেব্রা পাজল হলো একটি কনস্ট্রেইন্ট স্যাটিসফ্যাকশন প্রবলেম (CSP)। এমন সমস্যায় আপনার কাছে সম্ভাব্য মানের একটি সেট থাকে, আর থাকে কিছু শর্ত, যা নির্ধারণ করে দেয় কোন মানগুলো বৈধ। আরেকটি সুপরিচিত CSP হলো সুডোকু।
আপনার কাজ হলো জেব্রা পাজল সমাধান করে এই দুটি প্রশ্নের উত্তর বের করা:
নিচের ১৫টি বিবৃতি সবই সত্য বলে জানা আছে:
এছাড়াও, পাঁচটি বাড়ির প্রত্যেকটি আলাদা রঙে আঁকা, আর তাদের বাসিন্দারা ভিন্ন ভিন্ন দেশের, ভিন্ন ভিন্ন পোষা প্রাণী পোষে, ভিন্ন ভিন্ন পানীয় পান করে এবং ভিন্ন ভিন্ন শখে নিয়োজিত থাকে।
এখানে ২৪ বিলিয়ন (৫!⁵ = ২৪,৮৮৩,২০০,০০০) সম্ভাব্য সমাধান আছে, তাই যতটা সম্ভব সমাধান বাদ দেওয়ার চেষ্টা করুন।
এই অনুশীলনীতে আপনাকে ডেটার একটি সংগ্রহ প্রসেস করতে হবে। পারফরম্যান্স উন্নত করতে আপনি লেজি সিকোয়েন্স ব্যবহার করে আপনার code সহজ করতে পারেন। আরও তথ্যের জন্য এই পৃষ্ঠাটি দেখুন।
Exercism-এ সাইন আপ করুন, C# ট্র্যাকের 62টি কনসেপ্ট178টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।
২৪ বিলিয়ন সম্ভাব্য সমাধান থেকে জেব্রা পাজলের সমাধান খুঁজে বের করার ৮টি ভিন্ন উপায় অন্বেষণ করুন, যার মধ্যে রয়েছে যত তাড়াতাড়ি সম্ভব অবৈধ পারমিউটেশন উপেক্ষা করা, AC-3 অ্যালগরিদম, একটি খুব সংক্ষিপ্ত লজিক-ভিত্তিক সমাধান এবং এমনকি একটি জেনেটিক অ্যালগরিদম!