AcWing 5468. 最有价值字符串
原题链接
中等
作者:
小贰
,
2024-02-12 18:30:29
,
所有人可见
,
阅读 46
include[HTML_REMOVED]
using namespace std;
int n,a[4][135],mx[4];
int main(){
cin>>n;
for(int i=1;i<=3;i++)
{
//fill(a,a+135,0);
string x;
cin>>x;
int len=x.size();
for(int j=0;j<len;j++)
{
a[i][x[j]]++;//统计每个字母出现的次数
mx[i]=max(mx[i],a[i][x[j]]);//找出数量最多
}
//cout<<mx[1]<<" "<<mx[2]<<" "<<mx[3]<<endl;
if(mx[i]==len&&n==1) mx[i]--;//如果全部都是同一个字母 并且要修改一次 总次数-1
else if(mx[i]!=len) mx[i]=mx[i]+min(n,len-mx[i]);//其他情况就把剩余的都改为一样的字母
}
if(mx[1]>mx[2]&&mx[1]>mx[3]) cout<<"A";
else if(mx[2]>mx[1]&&mx[2]>mx[3]) cout<<"B";
else if(mx[3]>mx[2]&&mx[3]>mx[1]) cout<<"C";
else cout<<"D";
return 0;
}