

注意点:
- map直接用[]访问即可.
#include<cstdio>
#include<iostream>
#include<map>
#define ul unsigned long long
using namespace std;
const int MAXN=4000;
map<ul,bool> has_;
ul base=101;
ul hashs[MAXN];
ul tmp[MAXN];
ul getHash(string str){
ul hash_=0;
for(int i=1;i<=str.length();i++){
hashs[i]=hashs[i-1]*base+str[i-1];
}
hash_=hashs[str.length()];
return hash_;
}
int main(){
int n;
scanf("%d",&n);
int cnt=0;
for(int i=1;i<=n;i++){
string tmp;
cin>>tmp;
ul nowHash=getHash(tmp);
if(has_[nowHash])continue;
has_[nowHash]=1;
cnt++;
}
printf("%d\n",cnt);
return 0;
}