Module: Băm


Problem

1/2

Băm: Bắt đầu (C++)

Theory Click to read/hide

Để giải quyết vấn đề này, thật thuận tiện khi sử dụng hàm băm trả về một giá trị duy nhất cho mỗi hàng (băm).
C++11 có một tiện ích tích hợp sẵn để lấy hàm băm: hàm băm.  
Trong tương lai, để đếm số lần băm, tốt hơn là sử dụng bảng băm unordered_map, cũng xuất hiện trong C++ 11. Bạn có thể tìm hiểu thêm về cách sử dụng bản đồ trong khóa học Cấu trúc dữ liệu động -> Mảng kết hợp: bản đồ.

Ví dụ về cách lấy hàm băm từ chuỗi "test":

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


Kết quả sẽ là: "2949673445", do đó, từ mỗi chuỗi duy nhất, bạn có thể nhận được một hàm băm duy nhất có thể được sử dụng làm khóa trong  unordered_map.

Problem

Đã cho N dòng. In số hàng duy nhất.

 

Ví dụ
<đầu>
# Đầu vào Đầu ra
1 3
kiểm tra
kiểm tra2
thử nghiệm
2
2 4
1 bài kiểm tra
kiểm tra
kiểm tra1
thử nghiệm
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!