//http://www.spoj.com/problems/CLONE/
//
#include<stdio.h>
#include<algorithm>
using namespace std;
int arr[100000]={0};
int main()
{
int a,b,i,j,count,temp,val;
long double check,sum;
scanf("%d %d",&a,&b);
//int arr[2100];
while(a&&b)
{
char s[100];
//int arr[a];
int hash[25000]={0};
//k=1;
for(i=0;i<a;i++)
{
val=0;
scanf("%s",s);
for(j=0;j<b;j++)
{
if(s[j]=='A')
val=val*10+1;
else if(s[j]=='C')
val=val*10+2;
else if(s[j]=='G')
val=val*10+3;
else if(s[j]=='T')
val=val*10+4;
}
arr[i]=val;
}
sort(arr,arr+a);
// int hash[a];
int k;
/*for(k=0;k<=a;k++){
hash[k]=0;
//printf("%d ",arr[k]);
} */
count=1;
int flag=0;
check=arr[0];
for(i=1;i<a;i++)
{
if(arr[i]==check)
{
flag=0;
count++;
}
else
{
flag=1;
hash[count]++;
count=1;
check=arr[i];
}
}
hash[count]++;
for(i=1;i<=a;i++)
printf("%d\n",hash[i]);
//printf("\n");
scanf("%d %d",&a,&b);
}
return 0;
}
//
#include<stdio.h>
#include<algorithm>
using namespace std;
int arr[100000]={0};
int main()
{
int a,b,i,j,count,temp,val;
long double check,sum;
scanf("%d %d",&a,&b);
//int arr[2100];
while(a&&b)
{
char s[100];
//int arr[a];
int hash[25000]={0};
//k=1;
for(i=0;i<a;i++)
{
val=0;
scanf("%s",s);
for(j=0;j<b;j++)
{
if(s[j]=='A')
val=val*10+1;
else if(s[j]=='C')
val=val*10+2;
else if(s[j]=='G')
val=val*10+3;
else if(s[j]=='T')
val=val*10+4;
}
arr[i]=val;
}
sort(arr,arr+a);
// int hash[a];
int k;
/*for(k=0;k<=a;k++){
hash[k]=0;
//printf("%d ",arr[k]);
} */
count=1;
int flag=0;
check=arr[0];
for(i=1;i<a;i++)
{
if(arr[i]==check)
{
flag=0;
count++;
}
else
{
flag=1;
hash[count]++;
count=1;
check=arr[i];
}
}
hash[count]++;
for(i=1;i<=a;i++)
printf("%d\n",hash[i]);
//printf("\n");
scanf("%d %d",&a,&b);
}
return 0;
}
No comments:
Post a Comment