সিউম খোদাই করা অ্যালগরিদম বা এর আরও জটিল সংস্করণ বিভিন্ন গ্রাফিক্স প্রোগ্রাম এবং লাইব্রেরিতে সামগ্রী-সচেতন চিত্রের আকার পরিবর্তন করতে ব্যবহৃত হয়। এটি গল্ফ করা যাক!
আপনার ইনপুটটি পূর্ণসংখ্যার একটি আয়তক্ষেত্রাকার দ্বিমাত্রিক অ্যারে হবে।
আপনার আউটপুট একই অ্যারে, এক কলাম সংকীর্ণ হবে, প্রতিটি সারি থেকে একটি এন্ট্রি মুছে ফেলা হবে, সেই সমস্ত প্রবেশাগুলির সর্বনিম্ন যোগফল সহ উপরে থেকে নীচে একটি পথ উপস্থাপন করে এমন এন্ট্রি।
https://en.wikipedia.org/wiki/Seam_carving
উপরের চিত্রটিতে প্রতিটি কক্ষের মান লাল দেখানো হয়। কালো সংখ্যাগুলি হ'ল একটি ঘরের মান এবং তার উপরে তিনটি কোষের মধ্যে একটিতে সর্বনিম্ন কালো সংখ্যা (সবুজ তীর দ্বারা চিহ্নিত)) সাদা হাইলাইটেড পাথগুলি হ'ল সর্বনিম্ন দুটি সমষ্টি পথ, উভয়ই 5 এর যোগফল (1 + 2 + 2 এবং 2 + 2 + 1)।
এমন ক্ষেত্রে যেখানে সর্বনিম্ন অঙ্কের জন্য দুটি পাথ বাঁধা আছে, আপনি কোনটি সরান তা বিবেচ্য নয়।
স্টিডিন থেকে অথবা ফাংশন প্যারামিটার হিসাবে ইনপুট নেওয়া উচিত। এটি আপনার পছন্দের ভাষার জন্য বন্ধুত্ব এবং / বা ডিলিমিটর সহ সুবিধার সাথে ফর্ম্যাট করা যায়। কীভাবে ইনপুটটি প্রত্যাশিত তা আপনার উত্তরে উল্লেখ করুন specify
আউটপুট একটি দ্ব্যর্থহীন সীমিত বিন্যাসে স্টাডআউট হওয়া উচিত, বা 2 ডি অ্যারের সমতুল্য আপনার ভাষার সমতুল্য ফাংশন রিটার্ন মান হিসাবে (এতে নেস্টেড তালিকা ইত্যাদি অন্তর্ভুক্ত থাকতে পারে)।
উদাহরণ:
Input:
1 4 3 5 2
3 2 5 2 3
5 2 4 2 1
Output:
4 3 5 2 1 4 3 5
3 5 2 3 or 3 2 5 3
5 4 2 1 5 2 4 2
Input:
1 2 3 4 5
Output:
2 3 4 5
Input:
1
2
3
Output:
(empty, null, a sentinel non-array value, a 0x3 array, or similar)
সম্পাদনা: সংখ্যাগুলি সমস্ত অ-নেতিবাচক হবে এবং প্রতিটি সম্ভাব্য সিউমের সমষ্টি হবে যা একটি স্বাক্ষরিত 32 বিট পূর্ণসংখ্যায় ফিট করে।