Module: 해시


Problem

1/2

해시: 시작(C++)

Theory Click to read/hide

이를 해결하기 위해서는 각 행(해시)에 대해 고유한 값을 반환하는 해시 함수를 사용하면 편리합니다.
C++11에는 해시(hash)를 가져오기 위한 기본 제공 기능이 있습니다.  < br /> 앞으로 해시 수를 계산하려면 C++ 11에도 등장한 unordered_map 해시 테이블을 사용하는 것이 좋습니다. 맵 사용에 대한 자세한 내용은 동적 데이터 구조 -> 연관 배열: 지도.

문자열 "test"에서 해시를 가져오는 예:

해시<문자열> hash_fn;
size_t str_hash = hash_fn("test" );
cout<<str_hash;


결과는 "2949673445"이므로 각 고유 문자열에서  unordered_map의 키로 사용할 수 있는 고유한 해시를 얻을 수 있습니다.

Problem

주어진 N 줄. 고유한 행의 수를 인쇄합니다.

 

<헤드> <일># <몸>
입력 출력
1 3
테스트
테스트2
테스트
2
2 4
1테스트
테스트
테스트1
테스트
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!