寻找克隆人

来源:互联网 发布:spss modeler mac 编辑:程序博客网 时间:2024/05/28 09:33

寻找克隆人

时间限制:1000 ms  |  内存限制:65535 KB
难度:3
描述

美国的一个小镇近日被外星人袭击,一部分居民被其带走并克隆,现在,科学家提取了镇上一些人的DNA,请找出其中具有相同被克隆个数的DNA个数,例如下面的9个序列

AAAAAA
ACACAC
GTTTTG
ACACAC
GTTTTG
ACACAC
ACACAC
TCCCCC
TCCCCC
其中TCCCCC,GTTTTG分别具有两个相同个体,ACACAC有四个,AAAAAA为一个,则按照行数对应输出其个数

第一行1,第二行2,第四行1,其他行输出0,共9行

输入
序列数不超过20000,每序列不超过20个字符
输入以0 0结束
输出
如题中描述输出即可
样例输入
9 6AAAAAAACACACGTTTTGACACACGTTTTGACACACACACACTCCCCCTCCCCC0 0
样例输出
120100000
代码:
#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;}


0 0
原创粉丝点击