Problem

1/2

Hashes: Inicio (C++)

Theory Click to read/hide

Para solucionarlo, es conveniente utilizar una función hash que devuelva un valor único para cada fila (hash).
C++11 tiene una función integrada para obtener un hash: hash.  < br /> En el futuro, para contar el número de hashes, es mejor usar la tabla hash unordered_map, que también apareció en C++ 11. Puede obtener más información sobre el uso de mapas en el curso Estructuras de datos dinámicas -> Matrices asociativas: map.

Un ejemplo de cómo obtener un hash de la cadena "prueba":

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


El resultado será: "2949673445", por lo que de cada cadena única puede obtener un hash único que se puede usar como clave en el  unordered_map.

Problem

Dado N líneas. Imprime el número de filas únicas.

 

Ejemplos
# Entrada Salida
1 3
prueba
prueba2
prueba
2
2 4
1 prueba
prueba
prueba1
prueba
3
Write the program below
#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;
	}   

     

Program check result

To check the solution of the problem, you need to register or log in!