ভূমিকা
একটি ছোট্ট গ্রাম আছে যেখানে কয়েকটি ঘর এবং খালি মাঠ ছাড়া কিছুই নেই। স্থানীয় আমলারা গ্রামকে লটে ভাগ করতে চান যাতে প্রতিটি লটে ঠিক একটি বাড়ি থাকে এবং প্রচুর সীমানা একটি দুর্দান্ত সোজা লাইন গ্রিড তৈরি করে। আপনার কাজটি সম্ভব কিনা তা নির্ধারণ করা।
কাজটি
আপনার ইনপুটটি বিটের আয়তক্ষেত্র 2D অ্যারে; 1 একটি ঘর এবং 0 টি খালি ক্ষেত্র উপস্থাপন করে। এর আকার কমপক্ষে 1 × 1 হবে এবং এতে কমপক্ষে একটি হবে You
আপনার প্রোগ্রামটি নির্ধারণ করবে যে অ্যারেটি সোজা অনুভূমিক এবং উল্লম্ব লাইনগুলি ব্যবহার করে গ্রিড কোষগুলিতে বিভক্ত করা যেতে পারে যাতে প্রতিটি গ্রিড কোষে ঠিক এক থাকে one গ্রিডের কোষগুলিতে বিভিন্ন আকার এবং আকার থাকতে পারে, যদিও তারা সর্বদা আয়তক্ষেত্রাকার হবে। রেখাগুলি অবশ্যই অ্যারের এক প্রান্ত থেকে বিপরীত প্রান্তে চলতে হবে।
উদাহরণস্বরূপ, নিম্নলিখিতটি একটি অ্যারের বৈধ বিভাগ:
00|0010|01|1
01|0000|00|0
--+----+--+-
00|0000|00|1
01|0010|01|0
--+----+--+-
01|1000|10|1
যদিও নীচের বিভাগটি বৈধ নয়, যেহেতু গ্রিড কোষগুলি 1s বা এক 1 এর বেশি নয়:
00|0010|01|1
--+----+--+-
01|0000|00|0
00|0000|00|1
01|0010|01|0
--+----+--+-
00|1000|10|1
যদি কোনও বৈধ বিভাগ উপস্থিত থাকে তবে আপনি সত্যবাদী মান এবং অন্যথায় মিথ্যা মান নির্ধারণ করতে পারেন।
বিধি এবং স্কোরিং
আপনি একটি সম্পূর্ণ প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন। সর্বনিম্ন বাইট গণনা জিতেছে।
পরীক্ষার মামলা
[[1]] -> True
[[0,1],[1,0]] -> True
[[1,1],[1,0]] -> False
[[1,0,1],[0,1,0]] -> True
[[1,0],[0,1],[0,1]] -> True
[[1,0,0],[0,0,1],[0,1,1]] -> True
[[1,1,1],[1,1,1],[1,1,1]] -> True
[[1,0,1],[0,1,0],[1,0,0]] -> True
[[1,0,0],[1,0,0],[0,1,1]] -> False
[[0,0,0,0,1],[1,0,0,1,0],[0,0,0,1,0]] -> False
[[0,0,1,0,1],[0,0,0,1,0],[0,0,0,0,0]] -> True
[[1,1,0,0,0],[0,0,0,0,0],[1,0,1,0,0]] -> True
[[1,1,0,1,1],[0,1,0,1,1],[1,0,0,0,0]] -> True
[[0,0,0,0,0,0,0],[0,1,1,1,0,1,0],[0,1,0,0,1,0,0],[0,0,0,0,0,0,1],[0,0,1,0,0,0,1],[1,1,0,1,1,0,0]] -> False
[[1,1,0,0,0,0,0],[1,0,1,1,0,1,0],[0,0,0,0,1,0,0],[0,1,0,1,1,0,0],[1,0,0,0,1,1,0],[0,0,0,0,0,1,0]] -> False
[[0,1,0,1,1,1,0],[0,0,0,0,1,0,0],[0,0,0,0,0,0,0],[1,0,0,1,0,0,0],[0,0,0,0,0,0,0],[0,0,0,0,0,0,1]] -> True
[[0,1,0,0,1,0,1],[1,0,0,0,1,0,1],[0,0,1,0,1,0,1],[1,0,0,0,1,1,0],[0,0,0,1,1,1,0],[0,1,0,0,1,0,1]] -> True
[[0,1,0,0,1,0,0,1,0],[0,0,0,0,1,1,0,1,0],[1,1,0,0,1,0,0,0,0],[0,0,1,0,1,0,1,0,0],[0,0,1,0,1,0,1,0,0],[0,1,0,0,0,1,0,0,1],[0,1,0,0,0,0,1,0,0]] -> False
[[1,0,1,0,0,1,1,0,1],[0,1,1,0,0,1,1,0,1],[1,0,0,0,0,1,0,0,0],[0,0,0,0,0,0,0,0,0],[0,0,1,0,0,0,0,1,1],[0,1,1,0,1,0,1,0,1],[1,0,1,0,0,1,1,0,1]] -> True
[[1, 0, 1], [0, 1, 0], [1, 0, 0]]
এটিই ছিল আমার নতুন পদ্ধতির জন্য একমাত্র 3x3 ম্যাট্রিক্স ব্যর্থ।