用map做这个题,还有3个点没过
查看原帖
用map做这个题,还有3个点没过
504445
子夜今天AC了么楼主2021/6/16 18:10
#include<bits/stdc++.h>
#define base 261
#define mod 23333
using namespace std;
map<unsigned long long,string>ma;
int n,ans=0;
string s;
inline void has()
{
    unsigned long long hash=1;
    for(int i=0;s[i];i++)
        hash=(hash*base+s[i])%mod;
     if(ma[hash].empty())
     {
        ma[hash]=s;
        ans++;
     }
     else
     {
         if(ma[hash]!=s)
            ans++;
     }
}

int main()
{
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>s;
        has();
    }
    cout<<ans<<endl;
}

有dalao能帮我看下错在哪里了吗QAQ

2021/6/16 18:10
加载中...