ট্র্যাক
/
Tcl
Tcl
/
অনুশীলনী
/
জেব্রা ধাঁধা
জেব্রা ধাঁধা

জেব্রা ধাঁধা

কঠিন

ভূমিকা

জেব্রা পাজল একটি বিখ্যাত লজিক পাজল, যেখানে পাঁচটি বাড়ি থাকে এবং প্রতিটি বাড়ি আলাদা রঙে আঁকা। বাড়িগুলোর বাসিন্দারাও আলাদা: তাঁদের জাতীয়তা আলাদা, পোষা প্রাণী আলাদা, পানীয় আলাদা এবং শখও আলাদা।

পাজলটি সমাধান করতে আপনাকে সাহায্য করার জন্য ১৫টি বিবৃতি দেওয়া হয়েছে, যেগুলো সমাধানটি বর্ণনা করে। তবে কেবল সবগুলো বিবৃতির তথ্য একসাথে মিলিয়েই আপনি পাজলটির সমাধান খুঁজে পাবেন।

Note

জেব্রা পাজল হলো একটি কনস্ট্রেইন্ট স্যাটিসফ্যাকশন প্রবলেম (CSP)। এমন সমস্যায় আপনার কাছে সম্ভাব্য মানের একটি সেট থাকে, আর থাকে কিছু শর্ত, যা নির্ধারণ করে দেয় কোন মানগুলো বৈধ। আরেকটি সুপরিচিত CSP হলো সুডোকু।

নির্দেশনা

আপনার কাজ হলো জেব্রা পাজল সমাধান করে এই দুটি প্রশ্নের উত্তর বের করা:

  • কোন বাসিন্দা পানি পান করে?
  • জেব্রার মালিক কে?

পাজল

নিচের ১৫টি বিবৃতি সবই সত্য বলে জানা আছে:

  1. পাঁচটি বাড়ি আছে।
  2. Englishman লাল বাড়িতে থাকে।
  3. Spaniard কুকুরের মালিক।
  4. সবুজ বাড়ির বাসিন্দা কফি পান করে।
  5. Ukrainian চা পান করে।
  6. সবুজ বাড়িটি আইভরি রঙের বাড়ির ঠিক ডান দিকে।
  7. শামুকের মালিক নাচতে যেতে পছন্দ করে।
  8. হলুদ বাড়ির বাসিন্দা একজন চিত্রকর।
  9. মাঝের বাড়ির বাসিন্দা দুধ পান করে।
  10. Norwegian প্রথম বাড়িতে থাকে।
  11. যে ব্যক্তি পড়তে ভালোবাসে, সে শিয়াল আছে এমন ব্যক্তির পাশের বাড়িতে থাকে।
  12. চিত্রকরের বাড়িটি ঘোড়া আছে এমন বাড়ির পাশে।
  13. যে ব্যক্তি ফুটবল খেলে, সে কমলার রস পান করে।
  14. Japanese ব্যক্তি দাবা খেলে।
  15. Norwegian নীল বাড়ির পাশে থাকে।

এছাড়াও, পাঁচটি বাড়ির প্রত্যেকটি আলাদা রঙে আঁকা, আর তাদের বাসিন্দারা ভিন্ন ভিন্ন দেশের, ভিন্ন ভিন্ন পোষা প্রাণী পোষে, ভিন্ন ভিন্ন পানীয় পান করে এবং ভিন্ন ভিন্ন শখে নিয়োজিত থাকে।

Note

এখানে ২৪ বিলিয়ন (৫!⁵ = ২৪,৮৮৩,২০০,০০০) সম্ভাব্য সমাধান আছে, তাই যতটা সম্ভব সমাধান বাদ দেওয়ার চেষ্টা করুন।

Tcl প্যাকেজ

এটি প্রথম অনুশীলনী যেখানে আগে থেকে লেখা একটি প্যাকেজ দেওয়া হয়েছে। লক্ষ করুন, pkgIndex.tcl ফাইলটি রয়েছে এবং auto_path ভ্যারিয়েবলে বর্তমান ডিরেক্টরিটি অন্তর্ভুক্ত করা হয়েছে। এর ফলে package require কমান্ডটি প্যাকেজের সোর্স ফাইলটি খুঁজে পেতে পারে।

এটি বিশেষ ভালোভাবে লেখা কোনো প্যাকেজ নয়: এটি বিভিন্ন জায়গা থেকে ধার করা কিছু কোড মাত্র। interp alias কলটির উদ্দেশ্য হলো খুঁতগুলো লুকিয়ে রাখা এবং permutations প্যাকেজটি ব্যবহার করা সহজ করে তোলা।

তথ্যসূত্র:


সূত্র

Wikipediaলিংকটি নতুন উইন্ডো বা ট্যাবে খোলে
GitHub-এর মাধ্যমে সম্পাদনা করুন লিংকটি একটি নতুন উইন্ডো বা ট্যাবে খোলে
Tcl Exercism

জেব্রা ধাঁধা শুরু করতে প্রস্তুত?

Exercism-এ সাইন আপ করুন, Tcl ট্র্যাকের 135টি অনুশীলনী আর সত্যিকারের মানুষের মেন্টরিং দিয়ে শিখুন ও দক্ষ হয়ে উঠুন, সম্পূর্ণ বিনামূল্যে।

ডিপ ডাইভ: জেব্রা ধাঁধা!

২৪ বিলিয়ন সম্ভাব্য সমাধান থেকে জেব্রা পাজলের সমাধান খুঁজে বের করার ৮টি ভিন্ন উপায় অন্বেষণ করুন, যার মধ্যে রয়েছে যত তাড়াতাড়ি সম্ভব অবৈধ পারমিউটেশন উপেক্ষা করা, AC-3 অ্যালগরিদম, একটি খুব সংক্ষিপ্ত লজিক-ভিত্তিক সমাধান এবং এমনকি একটি জেনেটিক অ্যালগরিদম!