প্রবলেম - 54

হ্যাশ কি (Hash Key)

প্রবলেম সেটার: দ্বিমিক কম্পিউটিং


মিজান এই সেমিস্টারে ডেটা স্ট্রাকচার কোর্স করছে। এই কোর্সে হ্যাশ টেবিল অধ্যায় পড়ার সময় সে নিজে একটি হ্যাশ ফাংশন লেখার চিন্তা করল। ফাংশনটিতে একটি স্ট্রিং ইনপুট নেওয়া হবে এবং ফাংশনটি সেই স্ট্রিংয়ের ওপর ভিত্তি করে একটি হ্যাশ কি (ইন্টিজার) রিটার্ন করবে। মিজান সেই ফাংশনটির জন্য চিন্তা করল যে, হ্যাশ কি বের করার জন্য ইনপুট স্ট্রিংয়ের প্রতিটি ক্যারেক্টারের আসকি মানের গুণফল রিটার্ন করবে। তবে গুণফল অনেক বড় হয়ে যেতে পারে, তাই সে সিদ্ধান্ত নিল যে গুণফলকে 97 দিয়ে মড করে দিবে (অর্থাৎ 97 দিয়ে ভাগ করে ভাগশেষ রিটার্ন করবে)। এখন দুটি স্ট্রিংয়ের ক্ষেত্রে যদি একই হ্যাশ কি হয়, তখন একটু মুশকিল হয়ে যায়, আর সেই অবস্থাকে বলে কলিশন (Collision)।

দুটি স্ট্রিং দেওয়া হলে মিজানের হ্যাশিং পদ্ধতিতে কলিশন হবে কী না, সেটি তোমার একটি প্রোগ্রাম লিখে বের করতে হবে।

ইনপুট

প্রথমে একটি সংখ্যা T দেওয়া থাকবে। তারপর T সংখ্যক লাইনের প্রতি লাইনে দুটি স্ট্রিং থাকবে, স্ট্রিংদুটি একটি স্পেস ক্যারেক্টার দিয়ে আলাদা করা থাকবে। কোনো স্ট্রিংয়ে 20টির বেশি ক্যারেক্টার থাকবে না, আর স্ট্রিংয়ে কেবল ইংরেজি বর্ণমালার অক্ষরগুলো থাকবে।

আউটপুট

প্রতিজোড়া স্ট্রিংয়ের জন্য কলিশন হলে YES, আর কলিশন না হলে NO প্রিন্ট করতে হবে।

স্যাম্পল ইনপুট আউটপুট

স্যাম্পল #1

ইনপুট
2
abcd efgh
AbcD DAbc
আউটপুট
NO
YES
প্রবলেম-54 পরিসংখ্যান

113 টি সাবমিশন

20 টি অ্যাকসেপ্টেড

19 জন সমাধান করেছেন

সাইট পরিসংখ্যান

23102 টি সাবমিশন

64 টি প্রোগ্রামিং সমস্যা

1859 জন ইউজার

দ্বিমিকএর সব বই
জাভা থ্রেড প্রোগ্রামিং
জাভা থ্রেড প্রোগ্রামিং

ক্রয় করুন

পাইথন দিয়ে প্রোগ্রামিং শেখা
পাইথন দিয়ে প্রোগ্রামিং শেখা

ক্রয় করুন

কম্পিউটার প্রোগ্রামিং-দ্বিতীয় খণ্ড
কম্পিউটার প্রোগ্রামিং-দ্বিতীয় খণ্ড

ক্রয় করুন

পাইথন দিয়ে প্রোগ্রামিং শেখা ৩য় খণ্ড : ডেটা স্ট্রাকচার ও অ্যালগরিদম পরিচিতি
পাইথন দিয়ে প্রোগ্রামিং শেখা ৩য় খণ্ড : ডেটা স্ট্রাকচার ও অ্যালগরিদম পরিচিতি

ক্রয় করুন

জাভা প্রোগ্রামিং
জাভা প্রোগ্রামিং

ক্রয় করুন