给出N个只有小写字母的字符串,求其中不同的字符串的个数。
#include<iostream>
#include<string>
#include<vector>
#include<algorithm>
using namespace std;
const int mod=1000000007;
const int p=10000019;
vector<long long> ans;
long long hashFunc(string str)
{
long long H=0;
for(int i=0;i<str.length();i++)
{
H=(H*p+str[i]-'a')%mod;
}
return H;
}
int main()
{
string str;
while(getline(cin,str),str!="#")
{
long long id=hashFunc(str);
ans.push_back(id);
}
sort(ans.begin(),ans.end());
int count=0;
for(int i=0;i<ans.size();i++)
{
if(i==0||ans[i]!=ans[i-1])
{
count++;
}
}
cout<<count<<endl;
return 0;
}