1 #include <iostream> 2 #include <stdlib.h> 3 #include <string> 4 #include <vector> 5 #include <algorithm> 6 #include <string.h> 7 #include <stack> 8 #include <unordered_map> 9 #include <math.h> 10 #include <iomanip> 11 12 using namespace std; 13 14 int main() 15 { 16 int T; 17 cin >> T; 18 while(T --) 19 { 20 int m,n; 21 cin >> m >> n; 22 char wordList[m+3][n+3]; 23 24 for(int i = 0; i < m; i ++) 25 { 26 for(int j = 0; j < n; j ++) 27 { 28 cin >> wordList[i][j]; 29 } 30 } 31 32 string strResult; 33 int sumResult = 0; 34 for(int i = 0; i < n; i ++) 35 { 36 int A = 0,T = 0,C = 0,G = 0; 37 for(int j = 0; j < m; j ++) 38 { 39 if(wordList[j][i] == 'A') 40 A ++; 41 else if(wordList[j][i] == 'T') 42 T ++; 43 else if(wordList[j][i] == 'C') 44 C ++; 45 else if(wordList[j][i] == 'G') 46 G ++; 47 } 48 49 if(A>=T && A>=C && A>=G) 50 { 51 sumResult += T+C+G; 52 strResult += 'A'; 53 } 54 else if(C>=T && C>=A && C>=G) 55 { 56 sumResult += A+T+G; 57 strResult += 'C'; 58 } 59 else if(G>=T && G>=A && G>=C) 60 { 61 sumResult += T+C+A; 62 strResult += 'G'; 63 } 64 else if(T>=A && T>=C && T>=G) 65 { 66 sumResult += A+C+G; 67 strResult += 'T'; 68 } 69 } 70 cout << strResult << endl; 71 cout << sumResult << endl; 72 } 73 return 0; 74 }