আমি সম্প্রতি একটি নতুন সুডোকু অ্যাপ্লিকেশন পেয়েছি যা সত্যই শক্ত সুডোকু তৈরি করে, যা মানক কৌশলগুলি ব্যবহার করে সমাধান করা যায় না। সুতরাং আমি কয়েক নতুন শিখতে হয়েছিল। এই কৌশলগুলির মধ্যে একটি হ'ল ওয়াই-উইং কৌশল । এটি "শক্ত কৌশল" এর আওতায় স্থান পেয়েছে তবে এটি আসলে তেমন শক্ত নয়।
উদাহরণ
এই কৌশলটির জন্য কেবলমাত্র 4 টি সেল গুরুত্বপূর্ণ। তাই আমি ছবিতে অন্যান্য সমস্ত ঘর উপেক্ষা করেছি।
আমরা প্রতিটি কক্ষের জন্য সমস্ত প্রার্থীর দিকে নজর রাখি। নিম্নলিখিত উদাহরণে প্রার্থীদের সাথে আমাদের একটি সেল রয়েছে 3 7
(এর অর্থ আমরা ইতিমধ্যে প্রার্থীদের প্রত্যাখ্যান করেছি 1 2 4 5 6 8 9
, উদাহরণস্বরূপ কারণ 1
একই সারিতে একটি 2
রয়েছে, একই 3x3 বাক্সে একটি ...,) প্রার্থীদের সাথে একটি ঘর রয়েছে 6 7
, প্রার্থীদের সাথে একটি কক্ষ এবং প্রার্থীদের সাথে 3 6
একটি সেল 2 6
। ওয়াই-উইং কৌশলটি পরামর্শ দেবে যে, 6
ডাউনথর্ট সেলটির প্রার্থীদের কাছ থেকে অপসারণ করা যাবে এবং কেবলমাত্র একজন 2
প্রার্থী হিসাবে আপনি পূরণ করতে পারবেন So সুতরাং আমরা একটি সঠিক নম্বর পেয়েছি এবং পূর্ণ সুডোকু সমাধানের এক ধাপ কাছাকাছি।
কেন 6
সরানো যাবে?
ব্যাখ্যা
আসুন আমরা ধরে নিই যে এটি 6
হ'ল ডাউনরাইট সেলটির জন্য সঠিক সংখ্যা। এখন 6
এই কলামে একটি রয়েছে, অতএব আমরা 6
উপরের ডান কক্ষে প্রার্থীদের কাছ থেকে অপসারণ করতে পারি , কেবলমাত্র একটি রেখে 7
যা আমরা পূরণ করতে পারি the নীচের বাম কক্ষের ক্ষেত্রেও একই ঘটনা ঘটে। আমরা এটিকে সরিয়ে 6
এবং পূরণ করতে পারি 3
। এখন আমরা উপরের বাম কক্ষের দিকে নজর দিলে আমরা একটি বৈপরীত্য পাই। এখন ইতিমধ্যে একটি কারণ 7
একই সারিতে এবং 3
একই কলামে, তাই আমরা অপসারণ করতে পারেন 7
এবং 3
প্রার্থীর, সব সময়ে কোন প্রার্থী রেখে। যা পরিষ্কারভাবে সম্ভব নয়। সুতরাং 6 টি নিম্নোক্ত ঘরের সঠিক সংখ্যা হতে পারে না।
আরও সুনির্দিষ্টভাবে: পরীক্ষার্থীদের সাথে যদি আমাদের 4 টি ঘর থাকে [A B] [A C] [C D] [B C]
(এই ক্রমে বা বিজ্ঞপ্তিটি ঘোরানো হয়) এবং কক্ষগুলি একটি বৃত্তে (একই সারি, একই কলাম বা একই 3x3 বাক্সের মাধ্যমে) সংযুক্ত থাকে (সেল 1 সেল 2 সাথে সংযুক্ত থাকে, যা সেলটি 3 এর সাথে সংযুক্ত, যা ঘর 4 থেকে সংযুক্ত, যা সেল 1 এর সাথে সংযুক্ত), আপনি ঘর C
থেকে সরাতে পারবেন না [C D]
। এটা তোলে গুরুত্বপূর্ণ হল যে, তিন কোষ [A B]
, [A C]
এবং [B C]
শুধুমাত্র দুটি প্রার্থীদের প্রতিটি ধারণ করে। আলাদা আলাদাভাবে সেলটি [C D]
, এতে কম বেশি থাকতে পারে ( D
শূন্য হতে পারে, এক বা আরও বেশি প্রার্থী হতে পারে)।
লক্ষ্য করুন যে আমি স্পষ্টভাবে বলেছি যে তারা যে কোনও উপায়ে সংযুক্ত হতে পারে। পরবর্তী উদাহরণে আপনি কৌশলটি আবার প্রয়োগ করতে পারেন। তবে এবার ৪ টি কোষ একটি আয়তক্ষেত্র গঠন করে না। নীচে বাম এবং নীচে সেলগুলি কেবল সংযুক্ত রয়েছে, কারণ তারা একই 3x3 বাক্সে রয়েছে। ওয়াই-উইং বলেছেন, আমরা 1
উপরের বাম ঘরটির প্রার্থী হিসাবে অপসারণ করতে পারি । এবার এই কক্ষে এখনও 2 জন পরীক্ষার্থী রয়ে গেছে, সুতরাং আমরা আসলে একটি নতুন সঠিক নম্বর খুঁজে পাইনি। তবে তবুও অপসারণটি 1
বিভিন্ন কৌশলের দরজা খুলে দিতে পারে।
আপনি যদি কৌশলটি সম্পর্কে আরও তথ্য চান বা আরও কয়েকটি উদাহরণ চান, তবে সুডোকুউইকি.আর.ই যান ।
চ্যালেঞ্জ বিশেষ উল্লেখ
সেলগুলির প্রার্থীদের প্রতিনিধিত্ব করে আপনি ইনপুট হিসাবে 4 টি তালিকা পাবেন। চারটি ঘর একটি বৃত্তের মতো সংযুক্ত রয়েছে (সেল 1 সেল 2 এর সাথে সংযুক্ত, যা সেল 3 এর সাথে সংযুক্ত, যা সেল 4 এর সাথে সংযুক্ত, যা সেল 1 এর সাথে সংযুক্ত)। আপনি ধরে নিতে পারেন যে প্রতিটি তালিকা ক্রমবর্ধমান ক্রম অনুসারে বাছাই করা হয়েছে।
আপনার কাজ হ'ল একজন প্রার্থীকে অপসারণ (ওয়াই-উইং কৌশল প্রয়োগ করে) এবং একই ক্রমে ফলাফলপ্রাপ্ত প্রার্থীদের তালিকা ফিরিয়ে দেওয়া। আপনি যদি কৌশলটি প্রয়োগ করতে না পারেন তবে কেবল একই প্রার্থীদের তালিকা ফিরিয়ে দিন return
যদি দুটি সম্ভাব্য সমাধান থাকে (তবে আপনি একটি সেল বি এর সরিয়ে ফেলতে পারেন বা সেল ডি এর সি মুছে ফেলতে পারেন), কেবলমাত্র একটি সমাধানের জন্য ফিরে আসুন। এটি কোনটি বিবেচনা করে না।
ইনপুটটি কোনও স্থানীয় তালিকা বা অ্যারে ফর্ম্যাটে থাকতে পারে। আপনি তালিকার একটি তালিকা বা অনুরূপ কিছু ব্যবহার করতে পারেন। আপনি এসটিডিআইএন, কমান্ড-লাইন আর্গুমেন্ট, প্রম্পট বা ফাংশন আর্গুমেন্টের মাধ্যমে ইনপুটটি পেতে পারেন এবং রিটার্ন মানের মাধ্যমে আউটপুটটি বা কেবল স্টডিউটে মুদ্রণ করে আউটপুটটি ফিরিয়ে আনতে পারেন।
এটি কোড-গল্ফ। সবচেয়ে সংক্ষিপ্ততম কোড (বাইটে) জিতেছে।
পরীক্ষার কেস
[3 7] [6 7] [2 6] [3 6] => [3 7] [6 7] [2] [3 6] # Example 1
[6 7] [2 6] [3 6] [3 7] => [6 7] [2] [3 6] [3 7] # Example 1, different order
[2 6] [3 6] [3 7] [6 7] => [2] [3 6] [3 7] [6 7] # Example 1, different order
[3 6] [3 7] [6 7] [2 6] => [3 6] [3 7] [6 7] [2] # Example 1, different order
[1 2 8] [1 8] [8 9] [1 9] => [2 8] [1 8] [8 9] [1 9] # Example 2
[3 8] [4 8] [3 4 8] [3 4] => [3 8] [4 8] [3 8] [3 4]
[1 3 6 7 8] [3 8] [3 4] [4 8] => [1 3 6 7] [3 8] [3 4] [4 8]
[7 8] [7 8] [4 7] [4 8] => [7 8] [8] [4 7] [4 8] or [7] [7 8] [4 7] [4 8]
[4 7] [7 8] [4 8] [4] => [4 7] [7 8] [4 8] [] # Fictional example
[3 7] [2 6] [6 7] [3 6] => [3 7] [2 6] [6 7] [3 6] # Y-Wing can't be applied here
[4 7] [2 7 8] [4 8] [1 4] => [4 7] [2 7 8] [4 8] [1 4] # -||-
7 8
প্রথম এবং দ্বিতীয় সেলের প্রার্থী। ওয়াই-উইং কৌশলটি এখনও প্রয়োগ করা যেতে পারে।