বিভিন্ন তালাগুলির একটি তালিকা এবং কীগুলির আরেকটি তালিকা দেওয়া হয়েছে৷ আমাদের কাজ হল প্রদত্ত তালিকা থেকে লক এবং চাবির সঠিক মিল খুঁজে বের করা এবং তা সঠিক হলে সেই চাবিটি লকের সাথে বরাদ্দ করা।
এই পদ্ধতিতে আমরা সমস্ত লক অতিক্রম করব এবং একটি হ্যাশ-ম্যাপ তৈরি করব, তারপরে, হ্যাশ-ম্যাপে প্রতিটি কী অনুসন্ধান করা হবে। যখন চাবিটি মিলে যায়, তখন এটি একটি বৈধ কী হিসাবে চিহ্নিত করা হয় এবং একটি তালা দিয়ে বরাদ্দ করা হয়৷
ইনপুট এবং আউটপুট
ইনপুট:লক এবং কীগুলির তালিকা।লক ={ ),@,*,^,(,%, !,$,&,#}কী ={ !, (, #, %, ), ^, &, *, $, @ }আউটপুট:লক এবং কী মেলানোর পরে:লক:! ( # % ) ^ &* $ @ কী:! ( # % ) ^ &* $ @
অ্যালগরিদম
lockAndKey সমস্যা(লক, কী, n)
ইনপুট: তালাগুলির তালিকা, কীগুলির তালিকা, n.
আউটপুট: কোন তালার জন্য কোন চাবি আছে তা খুঁজুন।
i রেঞ্জের (0 থেকে n-1) জন্য হ্যাশম্যাপ সংজ্ঞায়িত করা শুরু করুন, হ্যাশম্যাপ[লক[i]] করুন :=i // রেঞ্জের মধ্যে i (0 থেকে n-1) এর জন্য করা লকগুলির জন্য হ্যাশম্যাপ সেট করুন, যদি করুন কী[i] হ্যাশম্যাপে পাওয়া যায়, তারপর লক[i] =কী[i] সম্পন্ন হয়
উদাহরণ
#include#include