ভূমিকা
একজন কর আদায়কারী রয়েছেন যাঁকে তাঁর রাজ্যের কর পরিচালনায় কিছুটা সমস্যা হয়: historicalতিহাসিক রেকর্ডগুলি একটি দুর্দান্ত আগুনে পুড়ে গেছে।
তিনি জানতে চান যে বর্তমান অর্থ উত্তরাধিকার সূত্রে প্রাপ্ত উত্তরাধিকার সূত্রে কতগুলি সম্ভাব্য পেস্ট থাকতে পারে। ভাগ্যক্রমে, তাঁর রাজত্ব খুব সাধারণ।
রাজ্যটি 2 ডি বুলিয়ান ম্যাট্রিক্সের দ্বারা মডেল করা যেতে পারে, যেখানে l
অর্থ উত্তরাধিকার সূত্রে প্রাপ্ত O
কাউকে প্রতিনিধিত্ব করে এবং যার নেই তার প্রতিনিধিত্ব করে। উদাহরণ স্বরূপ:
l O l l
O O O l
l O l O
O O O l
(এটি সর্বদা একটি আয়তক্ষেত্র হবে)
পরবর্তী প্রজন্মের মধ্যে, রাজ্যটি ছোট (নেকড়েদের শক্তিশালী!)।
পরবর্তী প্রজন্মটি এর মতো দেখতে হবে, পূর্ববর্তী প্রজন্মের উপর সুপারিশ করা ( x
পরবর্তী প্রজন্মের বংশধরদের জন্য স্থানধারক)
l O l l
x x x
O O O l
x x x
l O l O
x x x
O O O l
একজন বংশধর পূর্বপুরুষদের যে সরাসরি তাদের চারপাশে আছে তাকান হবে (সুতরাং উপরের বাম x
দেখতে হবে { l
, O
, O
, O
}, একটি নামক Unaligned আয়তক্ষেত্রাকার আশপাশ )
যদি কেবল একজন পূর্বপুরুষের উত্তরাধিকার সূত্রেই অর্থ উত্তরাধিকার সূত্রে প্রাপ্ত হয় তবে বংশধর তাদের কাছ থেকে অর্থ উত্তরাধিকারী হবে। যদি একাধিক পূর্বপুরুষের উত্তরাধিকার সূত্রে অর্থ প্রাপ্তি হয় তবে তারা ঝগড়া করবে এবং বংশধররা উত্তরাধিকারসূত্রে অর্থ উত্তরাধিকার সূত্রে শেষ হবে না। কেউ যদি উত্তরাধিকারসূত্রে অর্থ উত্তরাধিকারসূত্রে না থাকে তবে বংশধর কোনও অর্থ উত্তরাধিকারী হবে না।
(একাধিক বংশধর এক পূর্বপুরুষের উত্তরাধিকারী হতে পারে)
সুতরাং, পরবর্তী প্রজন্মের মতো দেখতে হবে:
l l O
l l O
l l O
চ্যালেঞ্জ
ইনপুট
প্রজন্মের বর্তমান অবস্থা, যে কোনও দুটি স্বতন্ত্র মানের অ্যারের অ্যারে হিসাবে, যেখানে অভ্যন্তরীণ অ্যারেগুলি একই দৈর্ঘ্যের।
উদাহরণস্বরূপ, উপরের উদাহরণস্বরূপ, এটি হতে পারে:
[
[True, True, False],
[True, True, False],
[True, True, False]
]
আউটপুট
পূর্বের প্রজন্মের ইনপুট যেখানে অনন্য পূর্ববর্তী প্রজন্মের সংখ্যার প্রতিনিধিত্ব করে একটি পূর্ণসংখ্যা।
আপনি ধরে নিতে পারেন যে উত্তরটি সর্বদা 2 ^ 30 - 1. (বা 1073741823) এর চেয়ে কম হবে।
পূর্ববর্তী প্রজন্মকে একটি "প্রিমাইজ" বলা হবে এবং এই চ্যালেঞ্জটি প্রাক প্রিমেসগুলি গণনা করা হবে ।
স্কোরিং
এটা একটা দ্রুততম-কোড চ্যালেঞ্জ, সুতরাং প্রতিটি জমা আমার কম্পিউটারে পরীক্ষা করা হবে, এবং জমা দেওয়ার ক্ষেত্রে কমপক্ষে সময় লাগে এটি বিজয়ী হবে।
উদাহরণ ইনপুট এবং আউটপুট
( 1
যে উত্তরাধিকারী অর্থ উত্তরাধিকার সূত্রে প্রাপ্ত, এবং উত্তরাধিকারী যিনি অর্থের উত্তরাধিকারী হন 0
নি)
ইনপুট:
[[1, 0, 1],
[0, 1, 0],
[1, 0, 1]]
আউটপুট:
4
ইনপুট:
[[1, 0, 1, 0, 0, 1, 1, 1],
[1, 0, 1, 0, 0, 0, 1, 0],
[1, 1, 1, 0, 0, 0, 1, 0],
[1, 0, 1, 0, 0, 0, 1, 0],
[1, 0, 1, 0, 0, 1, 1, 1]]
আউটপুট:
254
ইনপুট:
[[1, 1, 0, 1, 0, 1, 0, 1, 1, 0],
[1, 1, 0, 0, 0, 0, 1, 1, 1, 0],
[1, 1, 0, 0, 0, 0, 0, 0, 0, 1],
[0, 1, 0, 0, 0, 0, 1, 1, 0, 0]]
আউটপুট:
11567