题目描述:算法竞赛入门经典习题3-7
题目思路:每列出现最多的距离即最短
#include <stdio.h> #include <string.h> int main(int argc, char *argv[]) { int m,n ; scanf("%d%d",&m,&n) ; char c[m+5][n+5] ; for(int i=0;i<m;i++) scanf("%s",&c[i]) ; //for(int i=0;i<m;i++) // for(int j=0;j<n;j++) // printf("%c",c[i][j]) ; int a[4] ; // A C G T 数量 memset(a,0,sizeof(int)*4) ; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(c[j][i] == 'A') a[0] ++ ; if(c[j][i] == 'C') a[1] ++ ; if(c[j][i] == 'G') a[2] ++ ; if(c[j][i] == 'T') a[3] ++ ; } if(a[0]>a[1]&&a[0]>a[2]&&a[0]>a[3]) printf("A") ; else if(a[1]>a[0]&&a[1]>a[2]&&a[1]>a[3]) printf("C") ; else if(a[2]>a[0]&&a[2]>a[1]&&a[2]>a[3]) printf("G") ; else printf("T") ; memset(a,0,sizeof(int)*4) ; } return 0; }