Module: تجزئة


Problem

1/2

التجزئة: بدء (C ++)

Theory Click to read/hide

لحلها ، من الملائم استخدام دالة تجزئة تُرجع قيمة فريدة لكل صف (تجزئة).
يحتوي C ++ 11 على ميزة مضمنة للحصول على التجزئة: التجزئة . نبسب ؛
في المستقبل ، لحساب عدد التجزئات ، من الأفضل استخدام جدول تجزئة الخريطة غير المرتب ، والذي ظهر أيضًا في C ++ 11. يمكنك معرفة المزيد حول استخدام الخريطة في الدورة التدريبية هياكل البيانات الديناميكية - & gt؛ المصفوفات الترابطية: الخريطة.

مثال على الحصول على تجزئة من السلسلة & quot؛ test & quot ؛:

التجزئة  & lt؛  سلسلة  & gt؛  hash_fn؛
 size_t  str_hash  =  hash_fn ( & quot؛ test & quot؛ ) ؛
cout  & lt؛ & lt؛  str_hash؛


ستكون النتيجة: "2949673445" ، لذلك من كل سلسلة فريدة يمكنك الحصول على تجزئة فريدة يمكن استخدامها كمفتاح في & nbsp؛ unordered_map.

Problem

معطى سطور N . اطبع عدد الصفوف الفريدة.

نبسب ؛

أمثلة <الجسم>
# إدخال الإخراج
1 3
اختبار
اختبار 2
اختبار
2
2 4
1 اختبار
اختبار
اختبار 1
اختبار
3