| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
AC code#include<iostream>
using namespace std;
class DNA
{
public:
int num;
char str[51];
};
int reverseorder(char* m,int n)
{
int i,answer=0;
int A=0,C=0,G=0;
for(i=n-1;i>=0;i--)
{
switch(m[i])
{
case 'A':
A++;
break;
case 'C':
C++;
answer+=A;
break;
case 'G':
G++;
answer+=A+C;
break;
case 'T':
answer+=A+C+G;
break;
}
}
return answer;
}
int cmp(const void* a,const void* b)
{
DNA* x=(DNA*)a;
DNA* y=(DNA*)b;
return x->num-y->num;
}
int main()
{
int i,n,m;
cin>>n>>m;
DNA* asd=new DNA[m];
for(i=0;i<m;i++)
{
cin>>asd[i].str;
asd[i].num=reverseorder(asd[i].str,n);
}
qsort(asd,m,sizeof(DNA),cmp);
for(i=0;i<m;i++) cout<<asd[i].str<<endl;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator