ভূমিকা
এই চ্যালেঞ্জের উদ্দেশ্যে, আমরা সংজ্ঞায়িত করতে হবে প্রতিবেশীদের একটি উপাদান এর একটি বর্গাকার ম্যাট্রিক্সের মধ্যে (যেমন যে ) সমস্ত হিসেবে এন্ট্রি যে অবিলম্বে সন্নিহিত তির্যকভাবে করা, অনুভূমিকভাবে বা উল্লম্বভাবে (অর্থাত তারা "পারিপার্শ্বিক" , মোড়ানো প্রায় ছাড়াই)।
পেডেন্টদের জন্য, এ আই এর প্রতিবেশীদের একটি আনুষ্ঠানিক সংজ্ঞা , জন্য একটিম্যাটিক্স(0-সূচক):
ধরা যাক সূচক i তে উপাদানটি ,
কার্য
পর্যাপ্ত গল্প: ধনাত্মক পূর্ণসংখ্যার একটি বর্গক্ষেত্র মেট্রিক্স দেওয়া, নিম্নলিখিতগুলির মধ্যে একটি আউটপুট:
- উপাদানের একটি ফ্ল্যাট তালিকা (deduplicated বা না হোক) সমস্ত এন্ট্রি যে কিছু সূচকের ব্যাপৃত ইঙ্গিত মধ্যে প্রতিবেশীদের যেমন যে প্রতিকূল হয়।
- প্রতিবেশীরা বৈরী এবং অন্যথায় এমন অবস্থানগুলিতে এস সহ একটি বুলিয়ান ম্যাট্রিক্স (আপনি এবং স্থানে অন্য কোনও সামঞ্জস্যপূর্ণ মান চয়ন করতে পারেন )।0 0 1
- সূচকগুলির জোড়গুলির তালিকা যা প্রতিকূল প্রতিবেশীদের প্রতিনিধিত্ব করে।
ফিজিকার রেফারেন্স বাস্তবায়ন - পাইথন সিনট্যাক্সকে I / O এর জন্যও সমর্থন করে । এই লুপোলগুলি ডিফল্টরূপে নিষিদ্ধ রয়েছে তা নোট গ্রহণের সময় আপনি কোনও মানক পদ্ধতি এবং কোনও যুক্তিসঙ্গত ফর্ম্যাটের মাধ্যমে ইনপুট নিতে এবং আউটপুট সরবরাহ করতে পারেন । এটি কোড-গল্ফ, তাই বাইটের (প্রতিটি ভাষায়) সংক্ষিপ্ততম কোডটি জয়ী!
তদুপরি, আপনি ম্যাট্রিক্স আকারটিকে ইনপুট হিসাবেও নিতে পারেন এবং ম্যাট্রিক্সকে ফ্ল্যাট তালিকা হিসাবে নিতে পারেন কারণ এটি সর্বদা বর্গক্ষেত্র হবে।
উদাহরণ
নিম্নলিখিত ম্যাট্রিক্স বিবেচনা করুন:
প্রতিটি উপাদান সম্পর্কিত প্রতিবেশী হয়:
i j – E -> Neighbours | All coprime to E?
|
0 0 – 64 -> {10; 27; 22} | False
0 1 – 10 -> {64; 14; 27; 22; 32} | False
0 2 – 14 -> {10; 22; 32} | False
1 0 – 27 -> {64; 10; 22; 53; 58} | True
1 1 – 22 -> {64; 10; 14; 27; 32; 53; 58; 36} | False
1 2 – 32 -> {10; 14; 22; 58; 36} | False
2 0 – 53 -> {27; 22; 58} | True
2 1 – 58 -> {27; 22; 32; 53; 36} | False
2 2 – 36 -> {22; 32; 58} | False
এবং এইভাবে আউটপুট অবশ্যই নিম্নলিখিতগুলির মধ্যে একটি হতে হবে:
{27; 53}
{{0; 0; 0}; {1; 0; 0}; {1; 0; 0}}
{(1; 0); (2; 0)}
পরীক্ষার মামলা
Input –> Version 1 | Version 2 | Version 3
[[36, 94], [24, 69]] ->
[]
[[0, 0], [0, 0]]
[]
[[38, 77, 11], [17, 51, 32], [66, 78, 19]] –>
[38, 19]
[[1, 0, 0], [0, 0, 0], [0, 0, 1]]
[(0, 0), (2, 2)]
[[64, 10, 14], [27, 22, 32], [53, 58, 36]] ->
[27, 53]
[[0, 0, 0], [1, 0, 0], [1, 0, 0]]
[(1, 0), (2, 0)]
[[9, 9, 9], [9, 3, 9], [9, 9, 9]] ->
[]
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
[]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]] ->
[1, 1, 1, 1, 1, 1, 1, 1, 1] or [1]
[[1, 1, 1], [1, 1, 1], [1, 1, 1]]
[(0, 0), (0, 1), (0, 2), (1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
[[35, 85, 30, 71], [10, 54, 55, 73], [80, 78, 47, 2], [33, 68, 62, 29]] ->
[71, 73, 47, 29]
[[0, 0, 0, 1], [0, 0, 0, 1], [0, 0, 1, 0], [0, 0, 0, 1]]
[(0, 3), (1, 3), (2, 2), (3, 3)]