Module: Hash'ler


Problem

1/2

Karmalar: Başlangıç ​​(C++)

Theory Click to read/hide

Bunu çözmek için, her satır için benzersiz bir değer (hash) döndüren bir hash işlevi kullanmak uygundur.
C++11'de hash almak için yerleşik bir tesis vardır: hash.  < br /> Gelecekte, hash sayısını saymak için C++ 11'de de görünen unordered_map hash tablosunu kullanmak daha iyidir. Dinamik veri yapıları -> İlişkili diziler: harita.

"test" dizesinden hash alma örneği:

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


Sonuç şöyle olacaktır: "2949673445", böylece her benzersiz dizeden  unordered_map'te anahtar olarak kullanılabilecek benzersiz bir hash elde edebilirsiniz.

Problem

N satır verildi. Benzersiz satır sayısını yazdırın.

 

Örnekler
# Girdi Çıktı
1 3
testi
test2
test
2
2 4
1test
testi
test1
test
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!