
#include<bits/stdc++.h>
using namespace std;
map<long long ,long long >ma;
string s;
long long a[100010];
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
{
cin>>s;
long long x1=0,x2=1;
for(int i=s.size()-1;i>=0;i--)
{
x1=x1+(s[i]-'a'+1)*x2;
ma[x1]++;
x2*=26;
}
a[i]=x1;
}
for(int i=0;i<n;i++)
{
cout<<ma[a[i]]<<endl;
}
return 0;
}
本文介绍如何使用C++编程语言实现将字符串转换为长整数,并通过map数据结构统计每个数字出现的频率。通过for循环遍历字符串,结合字符到数字的映射计算x1和x2,最后输出各数字对应的出现次数。

被折叠的 条评论
为什么被折叠?



