题意:
给定一个整数 n,后面紧接着 n 个字符串,代表着名字。
字符串首字母相等,而两字符串不相等则为一种成功组合。问最多有多少组合。
其中 abc/acc 是一种成功组合,acc/abc 也是一种成功组合。
输入1:
10
JOSH
JAD
JENNIFER
JENNIFER
JALEN
HASAAN
ALI
TIM
ALEX
TRAVIS
输出1:
22
输入2:
5
ALEX
BRANDY
CELINE
DWAYNE
ELIZABETH
输出2:
0
爱吃代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cmath>
#include<cstring>
#include<map>
using namespace std;
int main()
{
map<string,int>mp;
map<string,int>::iterator it;
int n;
long long sum=0,ans=0;
string s;
char c='!';
cin>>n;
for(int i=0;i<n;i++)
while(n--)
{
cin>>s;
mp[s]++;
}
for(it=mp.begin();it!=mp.end();it++)
{
s=it->first;
n=it->second;
if(s[0]!=c)
{
c=s[0];
sum=0;
}
ans+=sum*n*2;
sum+=n;
}
cout<<ans<<endl;
return 0;
}