Модуль: Хеши


1. Хеши: Начало (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

Вставьте недостающие фрагменты кода
C++
Напишите программу ниже
#include <iostream>
#include <string>
#include <algorithm>
#include <map>
#include <unordered_map> 

using namespace std;

	int main(){
		int N;
		string s;
		cin >> N;
		unordered_map<size_t, int> mymap;

		for (int i = 1; i <= N; i++)
		{   
             }       
        cout << mymap.size();
	return 0;
	}