#include <stdio.h>
#include <string.h>
const int N = 1005;
const int M = 105;
int first = 1;
int n, m, cnt[M];
char dna[M][N];
void init()
{
scanf("%d%d", &m, &n);
for (int i = 0; i < m; i++) scanf("%s", dna[i]);
}
void solve()
{
int ans = 0;
if (first)
first = 0;
else printf("\n");
for (int i = 0; i < n; i++) {
int Max = 0, id;
memset(cnt, 0, sizeof(cnt));
for (int j = 0; j < m; j++) {
int tmp = dna[j][i];
cnt[tmp]++;
if (cnt[tmp] > Max) {
Max = cnt[tmp];
id = tmp;
}
else if (cnt[tmp] == Max && tmp < id)
id = tmp;
}
ans += m - Max;
printf("%c", id);
}
printf("\n%d", ans);
}
int main()
{
int cas;
scanf("%d", &cas);
while (cas--) {
init();
solve();
}
printf("\n");
return 0;
}UVa1368
最新推荐文章于 2021-12-30 15:07:01 发布
412

被折叠的 条评论
为什么被折叠?



