3-7习题
https://vjudge.net/problem/UVA-1368
#include<iostream>
#include<string>
using namespace std;
int main() {
int n;
cin >> n;
string s[55];
while (n--) {
int a, b;
cin >> a >> b;
for (int i = 0; i < a; ++i)
cin >> s[i];
string str;
int sum=0;
for (int k = 0; k < b; ++k) {
int num[4] = {};//ACGT
for (int i = 0; i < a; ++i) {
switch (s[i][k])
{
case 'A':++num[0]; break;
case 'C':++num[1]; break;
case 'G':++num[2]; break;
case 'T':++num[3]; break;
default:
break;
}
}
if (num[0] >= num[1] && num[0] >= num[2] && num[0] >= num[3]) {
str += "A"; sum += a - num[0];
}
else if (num[1] >= num[0] && num[1] >= num[2] && num[1] >= num[3]) {
str += "C"; sum += a - num[1];
}
else if (num[2] >= num[0] && num[2] >= num[1] && num[2] >= num[3]) {
str += "G"; sum += a - num[2];
}
else {
str += "T"; sum += a - num[3];
}
}
cout << str << endl << sum << endl;;
}
}