知识点:模拟
11分钟过掉的题目,没什么好说的,就是注意细节就行了
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while (t--) {
int m, n;
cin >> m >> n;
string s[55];
map<char, int> mp;
mp['A'] = 0;
mp['C'] = 1;
mp['G'] = 2;
mp['T'] = 3;
string str = "ACGT";
for (int i = 0; i < m; i++) {
cin >> s[i];
}
int ans = 0;
for (int i = 0; i < n; i++) {
int rec[4] = {};
for (int j = 0; j < m; j++) rec[mp[s[j][i]]]++;
int Max = -1, pos;
for (int j = 0; j < 4; j++) {
if (rec[j] > Max) { Max = rec[j]; pos = j; }
}
cout << str[pos];
for (int j = 0; j < 4; j++) {
if (j != pos) ans += rec[j];
}
}
cout << '\n' << ans << '\n';
}
return 0;
}