| ||||||||||
| 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 | |||||||||
求助:为什么还不接受我的答案。。。#include <stdio.h>
#include <stdlib.h>
struct node
{
int sum; //n_inversion
int number; //input consequence
char s[51];//information
}str[101];
int n_inversion(char a[],int lg)
{
int n_in=0;
for(int i=0;i<lg-1;i++)
for(int j=i+1;j<lg;j++)
if(a[i]>a[j]) n_in++;
return n_in;
}
int cmp(const void* a,const void* b)//if a>b?
{
if( ((node *)a)->sum > ((node *)b)->sum) return 1;
else if(((node *)a)->sum==((node *)b)->sum) return ((node *)a)->number>((node *)b)->number?1:0;
else return 0;
}
int main()
{
int length,num;
char temp[51];
scanf("%d%d",&length,&num);
for(int i=0;i<num;i++)
{
scanf("%s",temp);
int j=0,k=0;
while(temp[j]!='\0')
{
if(temp[j]=='A'||temp[j]=='C'||temp[j]=='G'||temp[j]=='T')
{
str[i].s[k]=temp[j];
j++;k++;
}
else
{
j++;
}
}
str[i].s[k]='\0';
str[i].sum=n_inversion(str[i].s,k+1);
str[i].number=i;
}
qsort(str,num,sizeof(str[0]),cmp);
for(int i=0;i<num;i++)
{
printf("%s\n",str[i].s);
}
system("PAUSE");
return 0;
}
Followed by:
Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator