পটভূমি
আমি একটি বেড়া তৈরি করতে চাই। তার জন্য, আমি একগুচ্ছ খুঁটি সংগ্রহ করেছি এবং সেগুলি মাটিতে আটকে রেখেছি। আমি প্রচুর বোর্ড সংগ্রহ করেছি যা আমি খুঁটিতে পেরেক দিয়েছিলাম আসল বেড়া তৈরি করতে। স্টাফ তৈরি করার সময় আমি বহন করি এবং খুব সম্ভবত আমি বোর্ডগুলিকে খুঁটির কাছে পেরেক দিয়ে রাখি যতক্ষণ না সেগুলি রাখার মতো আরও কোনও জায়গা নেই। আমি চাই আপনি সম্ভাব্য বেড়াগুলি গণনা করুন যা আমি শেষ করতে পারি।
ইনপুট
আপনার ইনপুটটি কোনও সুবিধাজনক বিন্যাসে খুঁটির অবস্থানগুলি উপস্থাপন করে দ্বি-মাত্রিক পূর্ণসংখ্যার স্থানাঙ্কগুলির একটি তালিকা। আপনি ধরে নিতে পারেন যে এতে কোনও সদৃশ নেই, তবে আপনি এর অর্ডার সম্পর্কে কিছু অনুমান করতে পারবেন না।
বোর্ডগুলি খুঁটির মাঝে সরলরেখার দ্বারা প্রতিনিধিত্ব করা হয় এবং সরলতার জন্য আমরা কেবল অনুভূমিক এবং উল্লম্ব বোর্ডগুলি বিবেচনা করি। দুটি পোল একটি বোর্ডে যোগ দিতে পারে যদি তাদের মধ্যে অন্য কোনও খুঁটি বা বোর্ড না থাকে, যার অর্থ বোর্ডগুলি একে অপরকে অতিক্রম করতে পারে না। এতে কোনও নতুন বোর্ড যুক্ত করা না গেলে খুঁটি এবং বোর্ডগুলির সর্বাধিক ব্যবস্থা (সমতুল্যভাবে, কোনও দুটি অনুভূমিকভাবে বা উলম্বভাবে সারিবদ্ধ মেরুগুলির মধ্যে একটি খুঁটি বা বোর্ড রয়েছে)।
আউটপুট
আপনার আউটপুটটি সর্বাধিক ব্যবস্থার সংখ্যা যা খুঁটি ব্যবহার করে নির্মিত যেতে পারে can
উদাহরণ
ইনপুট তালিকাটি বিবেচনা করুন
[(3,0),(1,1),(0,2),(-1,1),(-2,0),(-1,-1),(0,-2),(1,-1)]
উপরের থেকে দেখা যায়, খুঁটির আনুষঙ্গিক ব্যবস্থাটি দেখতে এরকম কিছু দেখাচ্ছে:
o
o o
o o
o o
o
এই পোলগুলি ব্যবহার করে ঠিক তিনটি সর্বাধিক ব্যবস্থা তৈরি করা যেতে পারে:
o o o
o-o o|o o-o
o----o o||| o o| | o
o-o o|o o-o
o o o
সুতরাং সঠিক আউটপুট হয় 3।
বিধি
আপনি কোনও ফাংশন বা একটি সম্পূর্ণ প্রোগ্রাম লিখতে পারেন। সর্বনিম্ন বাইট গণনা জয়, এবং মান লুফোলগুলি অনুমোদিত নয়।
পরীক্ষার কেস
[] -> 1
[(0,0),(1,1),(2,2)] -> 1
[(0,0),(1,0),(2,0)] -> 1
[(0,0),(0,1),(1,0),(1,1)] -> 1
[(1,0),(0,1),(-1,0),(0,-1)] -> 2
[(3,0),(1,1),(0,2),(-1,1),(-2,0),(-1,-1),(0,-2),(1,-1)] -> 3
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1)] -> 3
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1),(0,-1)] -> 4
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(0,-1),(2,2)] -> 5
[(0,0),(4,0),(1,1),(1,-2),(3,1),(3,-2),(2,-1),(4,-1),(0,-1),(2,2)] -> 8
(0,-2)ভাল হওয়া উচিত । এখনই পরিবর্তন হচ্ছে।