বলুন যে এবং একই দৈর্ঘ্যের দুটি স্ট্রিং। দুটি স্ট্রিংয়ের একটি অ্যানোগ্রামিং হল একটি বাইজিক ম্যাপিং যেমন প্রতিটি জন্য ।
একই জোড়ের স্ট্রিংয়ের জন্য একাধিক অ্যানোগ্রামিং থাকতে পারে। উদাহরণস্বরূপ, যদি `অবকাব এবং আমাদের কাছে এবং , অন্যদের মধ্যে।cabab
আমরা বলব যে একটি এনগ্রামগ্রাম এর ওজন হ'ল খণ্ডগুলি পেতে দ্বিতীয় স্ট্রিংটি পুনরায় সাজানো যায় এমন অংশগুলি পেতে প্রথম স্ট্রিংয়ে যে কাট করতে হবে তার সংখ্যা। আনুষ্ঠানিকভাবে, এই এর মানগুলির সংখ্যা যার জন্য । অর্থাৎ এটা পয়েন্ট যা সংখ্যা নেই না , ঠিক 1. উদাহরণ দ্বারা বৃদ্ধি এবং কারণ মধ্যেও একবার খন্ডে এবং , এবং মধ্যেও চার বার, পাঁচ খণ্ডে123451234512345
ধরুন, এবং দুটি স্ট্রিংয়ের জন্য একটি অ্যানোগ্রামিং রয়েছে । তারপরে কমপক্ষে একটি অ্যানগ্রগ্রামে কমপক্ষে ওজন থাকতে হবে। যাক এটি হালকা হয় । (একাধিক লাইটেস্ট এন্ডোগ্রামিংস থাকতে পারে; আমি যত্ন করি না কারণ আমি কেবল ওজনে আগ্রহী))
প্রশ্ন
আমি একটি অ্যালগরিদম চাই, যা দুটি স্ট্রিং দেওয়া হয়েছিল যার জন্য একটি এনগ্রামেজিং বিদ্যমান, দক্ষতার সাথে দুটি স্ট্রের হালকা অ্যানগ্র্যামিংয়ের সঠিক ওজন পাওয়া যায় । এটি ঠিক আছে যদি অ্যালগরিদম থেকেও হালকা অ্যানোগ্রামিং পাওয়া যায় তবে এটির দরকার নেই।
সমস্ত অ্যানোগ্রামিং তৈরি করা এবং সেগুলি ওজন করা মোটামুটি সহজ বিষয়, তবে অনেকগুলি থাকতে পারে, তাই আমি এমন একটি পদ্ধতি পছন্দ করবো যা হালকা অ্যানোগ্রামিংগুলি সরাসরি খুঁজে পায়।
প্রেরণা
এই সমস্যাটি আগ্রহের কারণ নিম্নরূপ। কম্পিউটারটিকে অভিধানের সন্ধান করা এবং অ্যানাগ্রামগুলি, জোড় শব্দগুলির ঠিক একই অক্ষর থাকা সন্ধান করা খুব সহজ। তবে উত্পাদিত অনেকগুলি অ্যানগ্রাগম উদ্বেগহীন। উদাহরণস্বরূপ, ওয়েবস্টারের দ্বিতীয় আন্তর্জাতিক অভিধানে সবচেয়ে দীর্ঘতম উদাহরণগুলি হ'ল:
cholecystoduodenostomy
duodenocholecystostomy
সমস্যা স্পষ্ট হওয়া উচিত: এই নীরস হয় কারণ তারা একটি খুব হালকা anagramming মানা যে কেবল বিনিময় cholecysto, duedenoএবং stomyঅংশ, 2. অন্যদিকে ওজন জন্য, এই অনেক খাটো উদাহরণ আরো অনেক কিছু বিস্ময়কর এবং আকর্ষণীয় হল:
উপকূলীয়
বিভাগীয়
এখানে সবচেয়ে হালকা এনাগ্রামিংয়ের ওজন 8 রয়েছে।
আমার কাছে এমন একটি প্রোগ্রাম রয়েছে যা আকর্ষণীয় অ্যানোগ্রামগুলি সনাক্ত করতে এই পদ্ধতিটি ব্যবহার করে, অর্থাত্ সমস্ত অ্যানোগ্রামগুলি উচ্চ ওজনের weight তবে এটি সমস্ত সম্ভাব্য অ্যানোগ্রামিংগুলি উত্পন্ন ও ওজন করে এটি করে, যা ধীর।
cholecystoduodenostomyহ'ল ccddeehlmnooooossttuyy) দুটি শব্দ হ'ল অ্যানগ্রাগম হয় এবং কেবল যদি তাদের একই রূপিক ফর্ম থাকে। আপনি শব্দগুলি একটি হ্যাশ টেবিলের মধ্যে সংরক্ষণ করেছেন, তাদের ক্যানোনিকাল ফর্মগুলি দ্বারা কীড করে এবং যখনই আপনি কোনও সংঘর্ষের সন্ধান পান, আপনার কাছে একটি অ্যানগ্রাম রয়েছে।