zoj 1188.DNA Sorting

DNA Sorting

#include
#include
using namespace std;
struct node{
	int num;
	char a[51];
}data[101];

int cal(char* s,int n)
{
	int i=0;
	int a[4]={0},total=0;
	for(i=n-1;i>=0;i--)
	{
		switch(s[i])
		{
		case 'A':
			a[1]++;
			a[2]++;
			a[3]++;
			break;
		case 'C':
			a[2]++;
			a[3]++;
			total+=a[1];
			break;
		case 'G':
			a[3]++;
			total+=a[2];
			break;
		case 'T':
			total+=a[3];
			break;	
		}
	}
	return total;
}
int comp(const void* a,const void* b)
{
	return (*(node *)a).num-(*(node *)b).num;
}
int main()
{
	int n,m;
	int t;
	cin>>t;
	while(t)
	{
	cin>>n>>m;
	for(int i=0;i>data[i].a;
		data[i].num=cal(data[i].a,n);
	}
	qsort(data,m,sizeof(node),comp);
	for(int j=0;j
#include 
#include 
#include 
#include 
using namespace std;
struct dna
{
    string s;
    int value;
}d[110];

void inint()
{
    int i;
    for( i=0;i<110;i++ )
        d[i].value=0;
}

bool cmp( dna a,dna b )
{
    return a.value>N;
    while( N-- )
    {
        inint();
        cin>>n>>m;
        for( i=0;i>d[i].s;
            for( j=1;j=0;k-- )
                {
                    if( d[i].s[j]



 

你可能感兴趣的:(zoj)