题解:P15606 [ICPC 2021 Jakarta R] Uniform Maker
卡了一会,但很快想出来了qwq。
思路
我们以样例一为例,可以发现:
所有单词第一位分别为
同理,所有单词第二位分别为
以此类推,最后会改成
这样就显而易见了,选择该位出现次数最多的字符。设该位出现次数最多的字符的数量为
代码
#include <bits/stdc++.h>
using namespace std;
int n, m;
string s[105];
int ans = 0;
int main(){
cin >> n >> m;
for(int i = 1; i <= n; i++){
cin >> s[i];
}
for(int i = 0; i < m; i++){
vector<int> lt(30, 0);
for(int j = 1; j <= n; j++){
lt[int(s[j][i] - 'a' + 1)]++;
}
int maxcx = 0;
for(int j = 1; j <= 26; j++){
maxcx = max(maxcx, lt[j]);
}
ans += n - maxcx;
}
cout << ans << '\n';
}