标签:
美国的一个小镇近日被外星人袭击,一部分居民被其带走并克隆,现在,科学家提取了镇上一些人的DNA,请找出其中具有相同被克隆个数的DNA个数,例如下面的9个序列
AAAAAA
ACACAC
GTTTTG
ACACAC
GTTTTG
ACACAC
ACACAC
TCCCCC
TCCCCC
其中TCCCCC,GTTTTG分别具有两个相同个体,ACACAC有四个,AAAAAA为一个,则按照行数对应输出其个数
第一行1,第二行2,第四行1,其他行输出0,共9行
9 6 AAAAAA ACACAC GTTTTG ACACAC GTTTTG ACACAC ACACAC TCCCCC TCCCCC 0 0
1 2 0 1 0 0 0 0 0
代码:
#include<stdio.h> #include<stdlib.h> #include<string.h> int cmp(const void *a,const void *b) { return (strcmp((char*)a,(char*)b)); } int main() { int m,n,i,num[20005]; char str[20002][21]; while(scanf("%d%d",&m,&n)!=EOF&&m!=0&&n!=0) { for(i=0;i<m;i++) scanf("%s",str[i]); qsort(str,m,sizeof(str[0]),cmp); memset(num,0,sizeof(num)); int count=1; for(i=1;i<=m;i++) { if(strcmp(str[i],str[i-1])==0) count++; else { num[count]++; count=1; } } for(i=1;i<=m;i++) printf("%d\n",num[i]); } return 0; }
版权声明:本文为博主原创文章,未经博主允许不得转载。
标签:
原文地址:http://blog.csdn.net/qq_16997551/article/details/47021673