暴利水题,然而比赛时一直没搞懂题意,跪了,赛后看了别人的代码才知道,直想吐槽一句:百度翻译,你坑我!!!!
题目是说给出一堆串,每个串最多有两个字母,求出含某两个(或者一个,如a,aa,aaa,就是6)的所有串在全部串中最长……(自己反复细细理解吧,我语文是体育老师教的)
最后,再说句:英语学不牢,老死在天朝!
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define inf 0x3f3f3f3f
int main()
{
int i,j,k,l,num,ans=0;
int n;
scanf("%d",&n);
char str[n][1005];
for(k=0;k<n;k++)
{
scanf("%s",str[k]);
}
for(i='a';i<='z';i++)
{
for(j=i;j<='z';j++)
{
num=0;
for(k=0;k<n;k++)
{
for(l=0;l<strlen(str[k]);l++)
{
if(str[k][l]!=i&&str[k][l]!=j)break;
}
if(l==strlen(str[k]))num+=strlen(str[k]);
}
ans=max(ans,num);
}
}
printf("%d\n",ans);
return 0;
}