কখনও কখনও, আমার কোডে ধ্রুব ম্যাট্রিকের তালিকা রয়েছে:
[ [[1, 0],
[0, 1]],
[[1, 0],
[0,-1]],
[[0, 1],
[1, 0]],
[[0,-1],
[1, 0]] ]
এটি পর্দার রিয়েল এস্টেটের এক ভয়ানক ব্যবহার। আমি বরং এগুলি একে অপরের পাশে লিখতাম:
[ [[1, 0], [[1, 0], [[0, 1], [[0,-1],
[0, 1]], [0,-1]], [1, 0]], [1, 0]] ]
আপনি দেখতে পাবেন এটি এখনও একটি সিনট্যাক্টিক্যালি বৈধ নেস্টেড তালিকা, এটি এখন আর আয়তক্ষেত্রাকার নয় এবং এর খুব আলাদা কাঠামো রয়েছে (বিশেষত, প্রতিবার আমি 1x1 এর চেয়ে বড় ম্যাট্রিক্স যুক্ত করলে এটি আরও গভীর হয়)। তবে এই নতুন তালিকা থেকে ম্যাট্রিকের প্রাথমিক তালিকাটি পুনর্গঠন করা এখনও সম্ভব।
ভবিষ্যতে আমি এই বাক্য গঠনটি ব্যবহার করতে পারি, আমার আপনার কিছু কোড লিখতে হবে যা অনুভূমিক বিন্যাসে লিখিত ছিল এমন অ্যারেগুলিকে রূপান্তর করে যা তারা প্রতিনিধিত্ব করে ম্যাট্রিকের তালিকায়।
উত্স কোডের লেআউটে উত্তরগুলি 2 ডি প্যাটার্নের সাথে মেলে না তা নিশ্চিত করার জন্য, ইনপুটটি কেবল অ্যারে অবজেক্ট হিসাবে দেওয়া হবে, বা যদি আপনি কোনও স্ট্রিং উপস্থাপনা গ্রহণ করেন তবে এটিতে কোনও স্পেসস্পেস থাকবে না তা নির্দেশ করে আক্ষরিক কোড লেখা ছিল। সুতরাং আপনি কিছু ইনপুট পেতে চাই:
[[[1, 0], [[1, 0], [[0, 1], [[0,-1], [0, 1]], [0,-1]], [1, 0]], [1, 0]]]
এবং আউটপুটটি নিম্নলিখিত অ্যারে বা তার স্ট্রিং প্রতিনিধিত্ব হওয়া উচিত (আবার কোনও আর বিন্যাসের প্রয়োজন নেই):
[[[1, 0], [0, 1]], [[1, 0], [0,-1]], [[0, 1], [1, 0]], [[0,-1], [1, 0]]]
এটি দ্বি-অংশ চ্যালেঞ্জের প্রথম এবং সহজ অংশ। এটির মধ্যে, আপনি ধরে নিতে পারেন যে সমস্ত ম্যাট্রিকগুলি বর্গক্ষেত্রযুক্ত এবং একই মাত্রা রয়েছে এবং সেগুলি একে অপরের পাশে যথাযথভাবে সংযুক্ত রয়েছে। দ্বিতীয় অংশে আমরা এই অনুমানগুলি শিথিল করব।
বিধি
ইনপুটটি নেস্টেড তালিকা বা এর ক্যানোনিকাল স্ট্রিং উপস্থাপনা (আপনার পছন্দের ভাষায়) হবে এবং ফলাফলটি আপনাকে একই ফর্ম্যাটে আউটপুট করা উচিত। ফলাফলটিতে সর্বদা কমপক্ষে একটি ম্যাট্রিক্স থাকবে এবং ম্যাট্রিকগুলি 1x1 এর মতো ছোট হতে পারে। ম্যাট্রিকগুলিতে কেবল 128 এর চেয়ে কম মান সহ পূর্ণ (স্বাক্ষরিত) পূর্ণসংখ্যা থাকবে।
আপনি কোনও প্রোগ্রাম বা একটি ফাংশন লিখতে পারেন এবং ইনপুট গ্রহণ এবং আউটপুট সরবরাহের মানক পদ্ধতিগুলির কোনও ব্যবহার করতে পারেন ।
আপনি যে কোনও প্রোগ্রামিং ভাষা ব্যবহার করতে পারেন তবে নোট করুন যে এই ফাঁকগুলি ডিফল্টরূপে নিষিদ্ধ করা হয়েছে।
এটি কোড-গল্ফ , তাই সংক্ষিপ্ততম বৈধ উত্তর - বাইটগুলিতে মাপা - জয়।
পরীক্ষার মামলা
প্রতিটি পরীক্ষা কেস একটি আছে) তালিকা ম্যাট্রিক্স পরবর্তী প্রতিটি অন্যান্য চমত্কারভাবে পরিপূর্ণ হিসাবে তারা কোডে হবে (এই হল না আপনার ইনপুট), খ) বিদেশী হোয়াইটস্পেস ছাড়া অবিন্যস্ত তালিকা ( এই আপনার ইনপুট হয়), গ) প্রত্যাশিত আউটপুট
Pretty: [ [[0]] ]
Input: [[[0]]]
Output: [[[0]]]
Pretty: [ [[-1]], [[0]], [[1]] ]
Input: [[[-1]],[[0]],[[1]]]
Output: [[[-1]],[[0]],[[1]]]
Pretty: [ [[1, 0], [[1, 0], [[0, 1], [[0,-1],
[0, 1]], [0,-1]], [1, 0]], [1, 0]] ]
Input: [[[1,0],[[1,0],[[0,1],[[0,-1],[0,1]],[0,-1]],[1,0]],[1,0]]]
Output: [[[1,0],[0,1]],[[1,0],[0,-1]],[[0,1],[1,0]],[[0,-1],[1,0]]]
Pretty: [ [[1, 0, 0], [[ 127, 63, 31], [[1, 0, 0], [[0, 0, 0],
[0, 1, 0], [ 15, 0, -15], [0, 0, 1], [0, 0, 0],
[0, 0, 1]], [ -31, -63, -127]], [0, 1, 0]], [0, 0, 0]] ]
Input: [[[1,0,0],[[127,63,31],[[1,0,0],[[0,0,0],[0,1,0],[15,0,-15],[0,0,1],[0,0,0],[0,0,1]],[-31,-63,-127]],[0,1,0]],[0,0,0]]]
Output: [[[1,0,0],[0,1,0],[0,0,1]],[[127,63,31],[15,0,-15],[-31,-63,-127]],[[1,0,0],[0,0,1],[0,1,0]],[[0,0,0],[0,0,0],[0,0,0]]]
[([1, 0], [0, 1]), ([1, 0], [0, -1]), ([0, 1], [1, 0]), ([0, -1], [1, 0])]
তৃতীয় testcase জন্য বৈধ আউটপুট? এটি মিশ্র তালিকা এবং টুপল।
[([1,0], ([1, 0}, ...
এবং এটি আপনাকে অতিরিক্ত তথ্য দেবে।