码迷,mamicode.com
首页 > 其他好文 > 详细

寻找克隆人

时间:2015-07-23 15:47:02      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:

寻找克隆人

时间限制: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 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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!