Модуль: Хеши


Задача

1/2

Хеши: Начало (C++)

Теория Нажмите, чтобы прочитать/скрыть

Для решения удобно воспользоваться хеш-функцией, которая возвращает уникальное значение для каждой строки (хеш).
В С++ 11 есть встроенное средства для получения хеша: hash
В дальнейшем для подсчета количества хешей лучше использовать хеш-таблицу unordered_map, которая тоже появилась в С++ 11. Подробнее про использование map можно узнать в курсе Динамические структуры данных -> Ассоциативные массивы: map.

Пример получения хеша из строки "test":

hash<string> hash_fn;
size_t str_hash = hash_fn("test");
cout<<str_hash;
			

В результате будет выведено: "2949673445", таким образом от каждой уникальной строки можно получить уникальный хеш, который можно использовать в качестве ключа в unordered_map.

Задача

Дано N строк. Вывести количество уникальных строк.

 

Примеры
Входные данные Выходные данные
1 3
test
test2
test
2
2 4
1test
test
test1
test
3