- #include
- #include
- #include
- #include
- using namespace std;
- int n;
- stringh[1000007], s;
- const intmod =1000007;
- long long hash()
- {
- inti, len = s.length() -1;
- long longans =0;
- for(i =0; i <= len; i++) ans = ans *33+ s[i] -'a';
- ans = abs(ans);
- ans %= mod;
- return ans;
- }
- bool insert()
- {
- long longi = hash();
- while(h[i] != s && h[i] !="") i++;
- if(h[i] == s)return 0;
- h[i] = s;
- return 1;
- }
- int main()
- {
- inti, j, ans =0;
- scanf("%d", &n);
- getline(cin, s);
- for(i =1; i <= n; i++)
- {
- getline(cin, s);
- if(insert()) ans++;
- }
- printf("%d", ans);
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2005072.html