Module: ハッシュ


Problem

1/2

ハッシュ: 開始 (C++)

Theory Click to read/hide

これを解決するには、行ごとに一意の値(ハッシュ)を返すハッシュ関数を使うと便利です
。 C++11 には、ハッシュを取得する機能が組み込まれています: ハッシュ。  < br /> 将来的には、ハッシュの数をカウントするには、C++ 11 にも登場した unowned_map ハッシュ テーブルを使用することをお勧めします。 コースの動的データ構造 -> でマップの使用方法について詳しく学ぶことができます。連想配列: マップ

文字列「test」からハッシュを取得する例:

ハッシュ<文字列> hash_fn;
size_t str_hash = hash_fn("test" );
cout<<str_hash;



結果は「2949673445」となるため、それぞれの一意の文字列から、unowned_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!