题解:P15606 [ICPC 2021 Jakarta R] Uniform Maker
题目大意
有
思路分析
我们一位一位考虑,为了让操作次数尽可能少,我们就希望有尽可能多的位置不改变。
所以我们统计每一位出现次数最多的字母,然后把其他的字母改成和出现次数最多的字母相同的字母即可。
最后统计次数就完成了。
代码实现
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
string s[105];
int ans=0,a[27];
int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<n;i++) cin>>s[i];
for(int i=0;i<m;i++)
{
int maxx=-1;
for(int j=1;j<=26;j++) a[j]=0;
for(int j=0;j<n;j++) a[s[j][i]-'a'+1]++;
for(int j=1;j<=26;j++) maxx=max(a[j],maxx);
ans+=(n-maxx);
}
cout<<ans;
return 0;
}