এই চ্যালেঞ্জটি সম্পূর্ণরূপে অল লাইট দ্বারা অনুপ্রাণিত হয়ে সলজিট গেমস দ্বারা বিকশিত হয়।
চ্যালেঞ্জ
আপনি একজন ইলেক্ট্রিশিয়ান এবং সমস্ত ব্যাটারির বাতি জ্বালিয়ে দেওয়া আপনার কাজ।
- লাইট এবং ব্যাটারি একটি গ্রিডে রাখা হয়।
- আপনি তার উত্তর, দক্ষিণ, পূর্ব এবং পশ্চিমে নিকটতম আলো বা ব্যাটারির সাথে একটি হালকা বা ব্যাটারি সংযুক্ত করতে পারেন।
- ব্যাটারিতে যে কোনও সংযোগ থাকতে পারে।
- প্রতিটি আলো কত সংযোগের প্রয়োজন তা নির্দিষ্ট করে। আপনি করতে হবে ঠিক যে আলো যে একাধিক সংযোগ।
- আপনি দুটি লাইট (বা হালকা এবং ব্যাটারি) এর মধ্যে একক সংযোগ বা ডাবল সংযোগ তৈরি করতে পারেন।
- তারগুলি অতিক্রম করতে পারে না।
- প্রতিটি আলোক থেকে ব্যাটারির দিকে যেতে হবে।
- কমপক্ষে একটি বৈধ সমাধানের নিশ্চয়তা রয়েছে।
ব্যাটারির অবস্থান এবং প্রতিটি আলোর অবস্থান এবং প্রতিটি আলোকে যে সংযোগের প্রয়োজন হয় তার সংখ্যা দেওয়া হয় এবং এই বৈশিষ্ট্যগুলিকে স্বীকার করে এমন তাদের মধ্যে সংযোগগুলি আউটপুট দেয়।
উইন কন্ডিশন
এটি কোড-গল্ফ , তাই প্রতিটি ভাষার সংক্ষিপ্ততম কোডটি জয়ী হয়।
পরীক্ষার কেস
I / O যথারীতি নমনীয়।
ইনপুটটির জন্য আমি গ্রিডের আকারের 2 ডি অ্যারে ব্যবহার করব যা আলোর জন্য ধনাত্মক পূর্ণসংখ্যা, ফাঁকা জায়গাগুলির জন্য শূন্য এবং ব্যাটারির জন্য -1 সঞ্চয় করে। আর একটি ভাল পছন্দ লাইটের একটি তালিকা হতে পারে, যেখানে একটি আলো আলোর অবস্থান এবং প্রয়োজনীয় সংযোগগুলির সংখ্যা সম্বলিত একটি টুপল।
আউটপুটের জন্য আমি সংযোগগুলির একটি তালিকা ব্যবহার করব, যেখানে সংযোগটি এমন একটি টুপল যা শুরুর অবস্থান এবং সমাপ্তি অবস্থানটি ধারণ করে। যদি কোনও সংযোগ দ্বিগুণ হয় তবে আমার মধ্যে তাদের মধ্যে দুটি তালিকায় থাকবে (অন্য বিকল্পটি এই প্যারামিটারটিকে টিপলটিতে অন্তর্ভুক্ত করা হবে)। আর একটি ভাল বিকল্প গ্রিড বিন্যাস কিছু ধরণের হতে পারে।
আপনি যদি কোনও সমন্বয় ব্যবস্থা ব্যবহার করেন তবে আপনি সূচনা সূচনাটি নির্দিষ্ট করতে পারেন এবং আপনি কোথা থেকে সূচকে এসেছেন। আমার উদাহরণগুলি 0-সূচকযুক্ত হবে এবং উপরের বাম কোণে (সারি, কলাম) হিসাবে (0, 0) ব্যবহার করবে। (আমি কেবলমাত্র অন্য ধরণের ডিলিমিটারের সাথে পরিচয় করানোর জন্য using using ব্যবহার করছি যাতে এটি পড়ার পক্ষে সহজ, সেগুলি সেট না হয়ে))
এখানে পরীক্ষার কেসগুলির একটি গ্রাফিকাল ভিউ রয়েছে: টেস্টগুলি 1-12
পরীক্ষা 1:
[-1 | 0 | 1 ] => [{(0, 0), (0, 2)}]
পরীক্ষা 2:
[-1 | 0 | 2 ] => [{(0, 0), (0, 2)}, {(0, 0), (0, 2)}]
পরীক্ষা 3:
[-1 ]
[ 0 ] => [{(0, 0), (2, 0)), ((0, 0), (2, 0)}]
[ 2 ]
পরীক্ষা 4:
[ 1 | 0 |-1 | 0 | 2 ] => [{(0, 0), (0, 2)}, {(0, 2), (0, 4)}, {(0, 2), (0, 4)}]
পরীক্ষা 5:
[ 2 ]
[ 0 ]
[-1 ] => [{(0, 0), (2, 0)}, {(0, 0), (2, 0)}, {(2, 0), (4, 0)}]
[ 0 ]
[ 1 ]
পরীক্ষা 6:
[ 1 | 0 | 0 ]
[ 0 | 0 | 0 ] => [{(0, 0), (2, 0)}, {(2, 0), (2, 2)}]
[ 2 | 0 |-1 ]
পরীক্ষা 7:
[ 4 | 0 | 0 |-1 ]
[ 0 | 0 | 0 | 0 ] => [{(0, 0), (0, 3)}, {(0, 0), (0, 3)},
[ 2 | 0 | 0 | 0 ] {(0, 0), (3, 0)}, {(0, 0), (3, 0)}]
পরীক্ষা 8:
[ 2 | 0 |-1 | 0 | 2 ] [{(0, 0), (0, 2)}, {(0, 0), (0, 2)},
[ 0 | 0 | 0 | 0 | 0 ] => {(0, 2), (0, 4)}, {(0, 2), (0, 4)},
[ 0 | 0 | 1 | 0 | 0 ] {(0, 2), (2, 2)}]
পরীক্ষা 9:
[ 0 | 0 | 2 | 0 | 0 ]
[ 0 | 0 | 0 | 0 | 0 ]
[ 1 | 0 |-1 | 0 | 1 ] => [{(0, 2), (2, 2)}, {(0, 2), (2, 2)}, {(2, 0), (2, 2)},
[ 0 | 0 | 0 | 0 | 0 ] {(4, 2), (2, 2)}, {(2, 4), (2, 2)}, {(2, 4), (2, 2)}]
[ 0 | 0 | 2 | 0 | 0 ]
পরীক্ষা 10:
[-1 | 2 | 3 | 2 ] => [{(0, 0), (0, 3)}, {(0, 0), (0, 3)},
{(0, 0), (0, 3)}, {(0, 0), (0, 3)}]
পরীক্ষা 11:
[-1 | 0 | 0 | 0 ]
[ 3 | 0 | 0 | 0 ]
[ 3 | 0 | 0 | 3 ] => [{(0, 0), (1, 0)}, {(1, 0), (2, 0)}, {(1, 0), (2, 0)},
[ 0 | 0 | 0 | 0 ] {(2, 0), (2, 3)}, {(2, 3), (4, 3)}, {(2, 3), (4, 3)}]
[ 0 | 0 | 0 | 2 ]
পরীক্ষা 12:
[ 2 | 0 | 0 ] [{(0, 0), (1, 0)}, {(0, 0), (1, 0)}, {(1, 0), (1, 1)},
[ 3 |-1 | 0 ] => {(1, 1), (2, 1)}, {(1, 1), (2, 1)}, {(2, 0), (2, 1)},
[ 2 | 5 | 1 ] {(2, 0), (2, 1)}, {(2, 1), (2, 2)}]
[1 | -1] [1 1]।