车牌统计
时间限制:1秒 内存限制:128M
题目描述
小计喜欢研究数字,他手记了N块车牌,想研究数字0~9中某两个数字相邻出现使用在车牌上的次数。
比如:68出现在100块车牌上、44出现在0块车牌上。
由于车牌太多希望你变成帮助他完成研究,并输出最多出现的车牌数。
输入描述
第1行,一个整数N,范围[1.. 100000];
下面有N行,每行是大写字母和数字组成的字符串,长度不超过10。
输出描述
某两个数字相邻出现在车牌的最多数
样例
输入
4 YE5777 YB5677 YC8367 YA77B3
输出
3
代码在平台测试为错误50%,不知道哪里错了,请指点
#include<iostream>
#include<string>
using namespace std;
struct node{
string a;
}c[100001];
int main(){
int n,cnt[11]={0};
cin>>n;
for(int i=0;i<n;i++){
cin>>c[i].a;
for(int j=0;j<c[i].a.size();j++){
if(c[i].a[j]>='0'&&c[i].a[j]<='9'){
cnt[c[i].a[j]-'0']++;
}
}
}
int maxcnt=0,max=-1999,count[100001];
for(int i=0;i<=9;i++){
if(cnt[i]>max){
max=cnt[i];
maxcnt=i;
}
}
char a=maxcnt+'0';
for(int i=0;i<n;i++){
for(int j=0;j<c[i].a.size();j++){
if(c[i].a[j]==a){
count[i]++;
}
}
}
max=-1999;
for(int i=0;i<n;i++){
if(max<count[i]){
max=count[i];
}
}
cout<<max;
return 0;
}